rails s:无法在任何来源中找到 rake-10.4.2 (Bundler::GemNotFound)
rails s: Could not find rake-10.4.2 in any of the sources (Bundler::GemNotFound)
当我开始 rails 时:
$ rails s
我得到:
/Users/snowcrash/.rvm/gems/ruby-2.1.5@global/gems/bundler-1.3.5/lib/bundler/spec_set.rb:92:in `block in materialize': Could not find rake-10.4.2 in any of the sources (Bundler::GemNotFound)
所以,我运行 bundle install
:
$ bundle install
Using rake 10.4.2
但 gem list rake
给出:
*** LOCAL GEMS ***
rake (10.1.0, 10.0.4)
为什么我没有安装 rake 10.4.2
?
此外,当我 运行 bundle check
它给了我:
The Gemfile's dependencies are satisfied
这似乎不正确。为什么?
====更新
我通过以下操作解决了 rake
的问题:
gem install rake
但为什么我必须手动安装它?我以为那是 Bundler 的工作。
再次尝试启动 rails 给了我另一个问题:
Could not find multi_json-1.10.1 in any of the sources (Bundler::GemNotFound)
显然这里存在一些潜在的问题。有什么建议吗?
我在 ruby 2.2.0 安装中使用 rbenv 时遇到了这个问题。通过反复试验修复。
我试过 gem install rake
但这并没有解决问题。
所以我做了:
gem uninstall rake
rbenv global 2.1.1
rbenv rehash
rbenv uninstall rake #this time gives error "rake is a default gem"
rbenv global 2.2.0
rbenv rehash
gem install rake
rails s #works this time
我的预期是 PATH 或类似的地方可能存在冲突,已通过完全删除解决
我之前在 multi_json 中遇到过这个错误。通过手动安装修复它 gem install multi_json
我认为您的 gems 与项目捆绑在一起(BUNDLED_PATH 在项目中定义。bundle/config)。
如果你需要运行捆绑版本的rails服务器,你必须输入控制台
bundle exec rails s
或者,您可以通过
生成捆绑的 gem commads 的 bin 存根
bundle --binstubs
和运行生成存根
bin/rails s
我只需要更正 enable
脚本。
cd /opt/rh/ruby-22
rpm -q -f enable
rh-ruby22-runtime-2.0-6.el6.x86_64
diff enable~ enable
1c1
< export PATH=/opt/rh/rh-ruby22/root/usr/bin${PATH:+:${PATH}}
---
> export PATH=/opt/rh/ruby/root/usr/local/bin/:/opt/rh/rh-ruby22/root/usr/bin${PATH:+:${PATH}}
scl enable rh-ruby22 bash
cd /usr/share/metasploit-framework/
然后使用下面的命令
bundle install
当我开始 rails 时:
$ rails s
我得到:
/Users/snowcrash/.rvm/gems/ruby-2.1.5@global/gems/bundler-1.3.5/lib/bundler/spec_set.rb:92:in `block in materialize': Could not find rake-10.4.2 in any of the sources (Bundler::GemNotFound)
所以,我运行 bundle install
:
$ bundle install
Using rake 10.4.2
但 gem list rake
给出:
*** LOCAL GEMS ***
rake (10.1.0, 10.0.4)
为什么我没有安装 rake 10.4.2
?
此外,当我 运行 bundle check
它给了我:
The Gemfile's dependencies are satisfied
这似乎不正确。为什么?
====更新
我通过以下操作解决了 rake
的问题:
gem install rake
但为什么我必须手动安装它?我以为那是 Bundler 的工作。
再次尝试启动 rails 给了我另一个问题:
Could not find multi_json-1.10.1 in any of the sources (Bundler::GemNotFound)
显然这里存在一些潜在的问题。有什么建议吗?
我在 ruby 2.2.0 安装中使用 rbenv 时遇到了这个问题。通过反复试验修复。
我试过 gem install rake
但这并没有解决问题。
所以我做了:
gem uninstall rake
rbenv global 2.1.1
rbenv rehash
rbenv uninstall rake #this time gives error "rake is a default gem"
rbenv global 2.2.0
rbenv rehash
gem install rake
rails s #works this time
我的预期是 PATH 或类似的地方可能存在冲突,已通过完全删除解决
我之前在 multi_json 中遇到过这个错误。通过手动安装修复它 gem install multi_json
我认为您的 gems 与项目捆绑在一起(BUNDLED_PATH 在项目中定义。bundle/config)。
如果你需要运行捆绑版本的rails服务器,你必须输入控制台
bundle exec rails s
或者,您可以通过
生成捆绑的 gem commads 的 bin 存根bundle --binstubs
和运行生成存根
bin/rails s
我只需要更正 enable
脚本。
cd /opt/rh/ruby-22
rpm -q -f enable
rh-ruby22-runtime-2.0-6.el6.x86_64
diff enable~ enable
1c1
< export PATH=/opt/rh/rh-ruby22/root/usr/bin${PATH:+:${PATH}}
---
> export PATH=/opt/rh/ruby/root/usr/local/bin/:/opt/rh/rh-ruby22/root/usr/bin${PATH:+:${PATH}}
scl enable rh-ruby22 bash
cd /usr/share/metasploit-framework/
然后使用下面的命令
bundle install