web-dev-qa-db-ja.com

rails s:どのソースにもrake-10.4.2が見つかりませんでした(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

しかし、なぜ手動でインストールする必要がありましたか?それがバンドラーの仕事だと思った。

そして、Railsを再び開始しようとすると、別の問題が発生しました。

Could not find multi_json-1.10.1 in any of the sources (Bundler::GemNotFound)

ここには明らかに根本的な問題があります。助言がありますか?

19
Snowcrash

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

16
AndyRyan

あなたのgemはプロジェクトにバンドルされていると思います(projects.bundle/configでBUNDLED_PATHが定義されています)。

バンドル版のRailsサーバーを実行する必要がある場合は、コンソールに入力する必要があります

bundle exec Rails s

または、次の方法で、バンドルされたgemカンマのビンスタブを生成できます。

bundle --binstubs

生成されたスタブを実行します

bin/Rails s
9
Dmitry Lihachev

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

http://www.softwarecollections.org/

0
Hans Ginzel