Und*_*ion 11 ruby rake ruby-on-rails foreman ruby-on-rails-4
我有以下Rake任务:
namespace :foreman do
task :dev do
`foreman start -f Procfile.dev`
end
end
desc "Run Foreman using Procfile.dev"
task :foreman => 'foreman:dev'
Run Code Online (Sandbox Code Playgroud)
forman命令在shell中工作正常,但是当我运行时,rake foreman
我收到以下错误:
/Users/me/.gem/ruby/2.0.0/gems/bundler-1.5.2/lib/bundler/rubygems_integration.rb:240:in `block in replace_gem': foreman is not part of the bundle. Add it to Gemfile. (Gem::LoadError)
from /Users/me/.gem/ruby/2.0.0/bin/foreman:22:in `<main>'
Run Code Online (Sandbox Code Playgroud)
福尔曼特别指出:
Ruby users should take care not to install foreman in their project's Gemfile
Run Code Online (Sandbox Code Playgroud)
那么如何才能运行此任务?
如果您必须通过 rake 使其工作,请尝试通过反引号更改 shell-out 以使用系统范围 foreman 二进制文件的硬编码路径
`/global/path/to/foreman start -f Procfile.dev`
Run Code Online (Sandbox Code Playgroud)
您只需使用“which”或“locate”或类似工具来确定在捆绑程序上下文之外工作的路径。如果您使用 rbenv,那么这可能就足够了:
$ rbenv which rake
/home/name/.rbenv/versions/1.9.3-p448/bin/rake
Run Code Online (Sandbox Code Playgroud)
我希望这能帮助您前进。
归档时间: |
|
查看次数: |
1825 次 |
最近记录: |