如何在Windows上“随时”创建gem?

我想在Windows XP上运行“简单”的cron。 所以每当gem install whenever我都会gem install whenever ,然后运行我的cron.rb

 require 'rubygems' require 'whenever' every 1.days, :at => '5:30am' do command "puts now" end 

但它抱怨说

 You don't have i18n installed in your application. Please add it to your Gemfile and run bundle install 

所以我运行了gem install i18n ,现在相同的代码给了我一个错误

 C:\whenever>ruby cron.rb cron.rb:4: undefined method 'every' for main:Object (NoMethodError) 

任何gem工作时我都知道怎么做?

  • ruby 1.8.7(2010-08-16 patchlevel 302)[i386-mingw32]
  • gem1.3.7

本地gem

 aaronh-chronic (0.3.9) activesupport (3.0.9) backports (1.18.2) daemons (1.1.0) delayed_job (2.0.3) eventmachine (0.12.10 x86-mswin32-60) fastercsv (1.5.4) haml (3.0.21) i18n (0.6.0) json (1.5.1) mechanize (1.0.0) monkey-lib (0.5.4) nokogiri (1.5.0 x86-mingw32, 1.4.3.1 x86-mingw32) rack (1.2.1) rdiscount (1.6.8) ruby-growl (3.0) sinatra (1.2.6, 1.0) sinatra-advanced-routes (0.5.1) sinatra-reloader (0.5.0) sinatra-sugar (0.5.1, 0.5.0) thin (1.2.7 x86-mswin32) tilt (1.3) whenever (0.6.8) 

这个gem是* nix实用程序cron的包装器。 我们可以在gem源文件command_line.rb第75行中看到它使用’crontab’hell命令。

它不适用于标准Windows安装,因为此命令不可用。

有一些Windows版本,如cronw ,但我不能说这些是否与每当gem兼容。

或者,您可以将长时间运行的任务作为Windows服务运行。 这篇文章应该让你入门。

如果您必须使用/ cron,可能是因为您正在部署* nix,请尝试下载Binami Rubystack VM – 您将在几分钟内启动并运行。