activesupport
(但我已经撤消了这些更改,事实上我处于完全独立/无关的分支中。)activesupport
工作期间运行的两个我不熟悉的命令是bundle --deployment
和bundle --no-deployment
。再一次,我相信我解除了与这些变化相关的所有事情(至少就git status
而言 - 我总是运行git status
,而且我是了解所有代码库更改。)我知道其他人有类似但不是这个问题:https://stackoverflow.com/search?q=require+cannot+load+such+file+LoadError
我正在玩这个供应商activesupport
:
How to vendor a modified version of active_support such that it is used in my Rails app?
当我尝试将供应商的activesupport
分支推送到staging
时,我遇到了麻烦:
Where is 'elsewhere' in "run `bundle install` elsewhere"?
无论如何,重点是我的应用(即所有宝石显然已安装,Gemfile
和Gemfile.lock
完好无损),但我无法运行测试:
/Users/bsimpson/.rvm/gems/ruby-2.0.0-p481@books/gems/activesupport-4.0.5/lib/active_support/dependencies.rb:229:in `require': cannot load such file -- minitest/rails (LoadError)
from /Users/bsimpson/.rvm/gems/ruby-2.0.0-p481@books/gems/activesupport-4.0.5/lib/active_support/dependencies.rb:229:in `block in require'
from /Users/bsimpson/.rvm/gems/ruby-2.0.0-p481@books/gems/activesupport-4.0.5/lib/active_support/dependencies.rb:214:in `load_dependency'
from /Users/bsimpson/.rvm/gems/ruby-2.0.0-p481@books/gems/activesupport-4.0.5/lib/active_support/dependencies.rb:229:in `require'
from /Volumes/MyHD/Users/bsimpson/Dev/books/books/test/test_helper.rb:10:in `<top (required)>'
from test/controllers/photos_controller_test.rb:1:in `require'
from test/controllers/photos_controller_test.rb:1:in `<main>'
如果我对10
的第test/test_helper.rb
行发表评论,则会抱怨下一行require
行。
dependencies.rb:229:in `require': cannot load such file -- minitest/rails/capybara (LoadError)
...
test/test_helper.rb:14:in `<top (required)>'
当我发表评论14
行时,会抱怨下一行require
,等等......
所以似乎在test
环境中,没有看到宝石。想法?
.bundle /配置
---
BUNDLE_WITHOUT: development:test
答案 0 :(得分:2)
配置BUNDLE_WITHOUT: development:test
告诉Bundler不要从development
和test
组加载gem。由于这是您唯一的配置设置,因此您可以安全地删除.bundle/config
文件,并且应该重新为您工作。
或者,您可以保留文件并仅删除该行。
当您运行bundle --deployment
时,您实际上是否可以bundle --deployment --without development test
运行?这些选项通常一起使用,并且在bundle install
文件中记住传递给bundle
(或install
而没有子命令的选项,默认为bundle/.config
)。这些选项在显式删除之前是“粘性的”,因此如果您使用--without
标记一次,则需要编辑该文件以使这些组恢复。
另请注意,.bundle/config
通常会从git中排除,因此检查git status
不会告诉您它是否发生了变化。这些设置通常取决于机器,因此最好将其从git中排除。