请从 Capistrano 配方中获取此文件 (LoadError)
Posted
技术标签:
【中文标题】请从 Capistrano 配方中获取此文件 (LoadError)【英文标题】:Please require this file from within a Capistrano recipe (LoadError) 【发布时间】:2015-04-12 06:33:49 【问题描述】:我正在使用 Capistrano 2 和 Rails 3 项目。最近我从头开始重建我的 gemset 表单,现在我在尝试运行 rails server 时收到错误“请从 Capistrano 配方 (LoadError) 中要求此文件”。
详细的错误信息:
/Users/leonidlukin/.rvm/rubies/ruby-1.9.3-p429/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /Users/leonidlukin/Sites/moscowshows/script/rails server -b 0.0.0.0 -p 3000 -e development
/Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/capistrano-2.15.5/lib/capistrano/configuration/loading.rb:18:in `instance': Please require this file from within a Capistrano recipe (LoadError)
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/rvm-capistrano-1.5.6/lib/rvm/capistrano/helpers/base.rb:16:in `rvm_with_capistrano'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/rvm-capistrano-1.5.6/lib/rvm/capistrano/helpers/_cset.rb:3:in `<top (required)>'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `require'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `block in require'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:236:in `load_dependency'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `require'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/rvm-capistrano-1.5.6/lib/rvm/capistrano/base.rb:1:in `<top (required)>'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `require'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `block in require'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:236:in `load_dependency'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `require'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/rvm-capistrano-1.5.6/lib/rvm/capistrano/selector.rb:1:in `<top (required)>'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `require'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `block in require'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:236:in `load_dependency'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `require'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/rvm-capistrano-1.5.6/lib/rvm/capistrano.rb:3:in `<top (required)>'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/bundler-1.8.0/lib/bundler/runtime.rb:85:in `require'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/bundler-1.8.0/lib/bundler/runtime.rb:85:in `rescue in block in require'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/bundler-1.8.0/lib/bundler/runtime.rb:68:in `block in require'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/bundler-1.8.0/lib/bundler/runtime.rb:61:in `each'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/bundler-1.8.0/lib/bundler/runtime.rb:61:in `require'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/bundler-1.8.0/lib/bundler.rb:134:in `require'
from /Users/leonidlukin/Sites/moscowshows/config/application.rb:13:in `<top (required)>'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/railties-3.2.13/lib/rails/commands.rb:53:in `require'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/railties-3.2.13/lib/rails/commands.rb:53:in `block in <top (required)>'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/railties-3.2.13/lib/rails/commands.rb:50:in `tap'
from /Users/leonidlukin/.rvm/gems/ruby-1.9.3-p429@moscowshows/gems/railties-3.2.13/lib/rails/commands.rb:50:in `<top (required)>'
from /Users/leonidlukin/Sites/moscowshows/script/rails:6:in `require'
from /Users/leonidlukin/Sites/moscowshows/script/rails:6:in `<top (required)>'
from -e:1:in `load'
from -e:1:in `<main>'
Process finished with exit code 1
我应该从 Capistrano 配方中获取哪个文件?
【问题讨论】:
【参考方案1】:问题在于 rvm-capistrano。
在 gemfile 中更正它。 要求:假
gem 'rvm-capistrano', require: false
这应该会有所帮助
【讨论】:
感谢您的解决方案。它就像一个魅力。但是你能解释一下发生了什么吗?提前致谢。 @huynhquancam 似乎这个问题在 bundler 1.8.0 发布后再次出现。 Bundler 无法加载 rvm-capistrano。希望它会得到修复。 失败的代码在这里github.com/bundler/bundler/blob/master/lib/bundler/… 对我不起作用。在此处发布详细问题***.com/questions/29101421/… @AmitPatel 好像你解决了你的问题。【参考方案2】:我找到了一个更好的解决方案,而不是删除它,只需将 rvm-capistrano 移动到 capistrano 之前:
# Deploy with Capistrano
gem 'rvm-capistrano'
gem 'capistrano'
gem 'capistrano-ext'
【讨论】:
请不要对多个问题发布相同的答案。发布一个好的答案,然后投票/标记以关闭其他问题作为重复问题。如果问题不是重复的,调整您对该问题的回答。 下次我给出答案时会记住这一点。感谢您指出。【参考方案3】:但是,奇怪的是,我也这样解决了这个问题(在我的 Gemfile 中,只是为了评论主 capistrano gem):
# Deploy with Capistrano
# gem 'capistrano', :group => :development
gem 'rvm-capistrano', :group => :development
【讨论】:
这是有道理的。尽管您必须取消注释才能进行部署。【参考方案4】:在您的 Gemfile 中更改此项。
gem 'rvm-capistrano', require: false
这将解决问题而不会令人头疼。
【讨论】:
以上是关于请从 Capistrano 配方中获取此文件 (LoadError)的主要内容,如果未能解决你的问题,请参考以下文章
Capistrano 和 GitHub 私人回购 - 权限被拒绝(公钥)
错误“抱歉,我需要一个 wp-config-sample.php 文件才能使用。请从您的 WordPress 安装中重新上传此文件。”
请从L=[1,10,20,50,20,20,1]中找出重复数。
/usr/bin/env ruby 没有这样的文件或目录:使用 capistrano 3、capistrano/rbenv、capistrano/bundler 和 capistrano/rail