Rails控制台找不到Rake,但是Bundler安装了它

时间:2018-04-06 02:55:06

标签: ruby-on-rails ruby bundler

Rake 12.3.1在Gemfile中,并已安装:

/app # bundle install | grep rake
Using rake 12.3.1

/app # grep rake Gemfile.lock
      rake (>= 0.8.7)
    rake (12.3.1)

/app # bundle exec gem list | grep rake
rake (12.3.1)

Bundler认为一切都很好:

/app # bundle check
The Gemfile's dependencies are satisfied

普通bundle exec ruby加载它可以:

/app # bundle exec ruby -e'require "rake"; p Rake::VERSION'
"12.3.1"

但是,Rails控制台无法找到它:

/app # bin/rails c
Could not find rake-12.3.1 in any of the sources
Run `bundle install` to install missing gems.

/app # bundle exec bin/rails c
Could not find rake-12.3.1 in any of the sources
Run `bundle install` to install missing gems.

我错过了什么?

2 个答案:

答案 0 :(得分:0)

这是在Docker容器中,BUNDLE_PATH设置为/gems。我打开了一个shell并删除了/gems下的所有内容,再次捆绑,现在它可以正常工作。

我很想知道发生了什么,但现在我继续前进。

答案 1 :(得分:0)

Spring是否在您的rails版本中初始化了?如果是这样,请尝试禁用Spring Rails应用程序预加载器:

DISABLE_SPRING=true rails c