ruby on rails - downloads - 宝石のレールが見つかりません-Gem:: GemNotFoundException




ruby installer downloads (3)

ubuntu 10.04、rvmを使用しています。 最初は、rvmとgem railsを使って1.9.2のrubyをインストールし、いくつかの新しいプロジェクトを作り、それをうまく開始しました。 すべてがうまくいきました。 しかし、別のプロジェクトに変更した後、bundle installコマンドを実行すると(出力はOKと表示されます)、rails server-errorが起動します:

レール

/home/jacek/.rvm/rubies/ruby-1.9.2-p318/lib/ruby/site_ruby/1.9.1/rubygems.rb:316:in `bin_path': can't find gem rails ([">= 0"]) with executable rails (Gem::GemNotFoundException)
from /home/jacek/.rvm/gems/ruby-1.9.2-p318/bin/rails:19:in `<main>'

宝石リストレール

*** LOCAL GEMS ***
rails (3.2.2)

gem env

RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.18
  - RUBY VERSION: 1.9.2 (2012-02-14 patchlevel 318) [i686-linux]
  - INSTALLATION DIRECTORY: /home/jacek/.rvm/gems/ruby-1.9.2-p318
  - RUBY EXECUTABLE: /home/jacek/.rvm/rubies/ruby-1.9.2-p318/bin/ruby
  - EXECUTABLE DIRECTORY: /home/jacek/.rvm/gems/ruby-1.9.2-p318/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-linux
  - GEM PATHS:
     - /home/jacek/.rvm/gems/ruby-1.9.2-p318
     - /home/jacek/.rvm/gems/[email protected]
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

私のパス(実行可能なディレクトリを含む:/home/jacek/.rvm/gems/ruby-1.9.2-p318/bin)

/home/jacek/.rvm/gems/ruby-1.9.2-p318/bin:/home/jacek/.rvm/gems/[email protected]/bin:/home/jacek/.rvm/rubies/ruby-1.9.2-p318/bin:/home/jacek/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

私はどんな助けでも感謝しています


$ rvm use --default 2.4.0でRuby間でバージョンを切り替えることができます

しかし、あなたの問題はこれを試してみてください:

  1. $ gem install bundler

  2. $ gem install rails

それが役に立てば幸い !


GEMFILEから宝石をインストールbundle installためにbundle installコマンドを使用すると、宝石用のデフォルトシステムの場所に宝石がインストールされます( ここのバンドルのドキュメントに記載されています) 。 その後、 bundle execコマンドを使用して、バンドルのコンテキストでコマンドを実行することができます( ここでのドキュメントに記載されています) 。 これにより、 bundle installを使用してインストールしたgemのバージョンが確実に実行されます。

ドキュメントの概要を提供するbundlerホームページを見ると、次のように書かれています。

場合によっては、実行可能ファイルがシステムにインストールされ、バンドルと競合する宝石を引き込まない場合、バンドルexecなしで実行ファイルを実行することができます。

しかし、これは信頼性が低く、かなりの痛みの原因です。 それが動作するように見えても、将来、または別のマシンで動作しない可能性があります。

私はあなたがあなたのコンソールgem which railsを走らせて、あなたのコンソールにbundle show railsを走らせていると思っています。あなたのシステムのデフォルトのレール・インストールはあなたのバンドルにインストールされているものとは異なります。

rubygem管理にrvmを使用しているとします。 私はあなたが正しく構成されていないかもしれないと思っています。 コンソールにrvm notesコマンドを実行して、OSにインストールするために必要な/推奨されているすべての手順に対処していることを確認してください。 理想的には、 echo $PATHを実行するときに、 rvmの実行ファイルがパスに含まれる最初のものであることを確認するrvmがあります。 これにより、 rvm用にインストールされた宝石は、 bundle execプレフィックスなしでそれらを実行しようとするときに実行される宝石であることが保証されます。 rvm notesでそれを達成するために必要なヒントが得られない場合は、RVM Webサイトにインストールするためドキュメントを慎重に検討してみてください。


私は以下のコマンドが動作すると思います

gem pristine rails




rvm