我正在尝试(没有太大成功)在rails项目上运行rake db:migrate
,但它会返回:
Could not find rake-10.4.2 in any of the sources
Run bundle install to install missing gems.
我跑了bundle install
并且运行良好 - 安装了rake 10.4.2,但是当我跑:rake --version
时(出于某种原因你不能做rake -v ???)它显示: rake, version 0.9.6
我运行了捆绑更新rake并返回了我的宝石列表,然后:Your bundle is updated!
为什么rake不更新?有没有什么我做错了(我刚开始使用rails btw - 所以这可能很简单)
非常感谢任何帮助
答案 0 :(得分:16)
TL; DR:gem install rake -v '10.4.2'
所以,我自己有这个问题。我想知道为什么rails s
会在昨天而不是今天工作。
首先,我检查了我是否在正确的目录中,我是。
然后我重新运行bundle install
以确保安装了rake。它是,我能够在我的Gemfile.lock中看到它
所以我认为我的gemset可能已损坏(我使用RVM)。 rvm gemset empty
然后bundle install
但是,每当我运行rails s
时,我都会遇到此错误。 bin/rails s
工作,bundle exec rails s
。但是我不想要一个前缀,我想让rails工作(它适用于其他rails项目)
最终我尝试gem install rake
并且它有效!我建议在命令中添加-v '10.4.2'
,以便获得正确的rake版本。现在当我which rake
时,我获得了项目的gemset:"/Users/cm022291/.rvm/gems/ruby-2.2.1@project_gemset/bin/rake"
当我运行rails s
时,服务器成功启动。
答案 1 :(得分:2)
尝试输入
bundle exec rake db:migrate
这将确保被调用的Rake是你捆绑的那个。