在[](Gem :: LoadError)中找不到rails(> = 0)

rig*_*gyt 50 ruby rubygems ruby-on-rails rvm ruby-on-rails-3

安装rvm,更新.gmrc文件,更新rubygems并运行后gem install rails -v ">=3.1.0rc",我现在似乎已经完全搞乱了:

$ rails -v
/usr/local/lib/site_ruby/1.8/rubygems/dependency.rb:247:in `to_specs': Could not find rails (>= 0) amongst [] (Gem::LoadError)
    from /usr/local/lib/site_ruby/1.8/rubygems/dependency.rb:256:in `to_spec'
    from /usr/local/lib/site_ruby/1.8/rubygems.rb:1182:in `gem'
    from /var/lib/gems/1.8/bin/rails:18
Run Code Online (Sandbox Code Playgroud)
myhome@myhome-mini:~$ gem env

RubyGems Environment:
  - RUBYGEMS VERSION: 1.6.2
  - RUBY VERSION: 1.9.2 (2011-02-18 patchlevel 180) [i686-linux]
  - INSTALLATION DIRECTORY: /home/myhome/gems
  - RUBY EXECUTABLE: /home/myhome/.rvm/rubies/ruby-1.9.2-p180/bin/ruby
  - EXECUTABLE DIRECTORY: /home/myhome/gems/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-linux
  - GEM PATHS:
     - /home/myhome/gems
     - /usr/lib/ruby/gems/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - "gemhome" => "/home/myhome/gems"
     - "gempath" => ["/home/myhome/gems", "/usr/lib/ruby/gems/1.8"]
  - REMOTE SOURCES:
     - http://rubygems.org/
Run Code Online (Sandbox Code Playgroud)

pdu*_*ler 85

我有一个类似的问题.不确定这是否对您有所帮助,但您可能会尝试安装宝石,rvmsudo gem install [gemname]而不仅仅是做gem install [gemname]sudo gem install [gemname].

我试图解释一下因为upvotes:
这基本上是一个路径问题.如果你设置gems via gem install,它们很可能会在另一个目录中(例如/usr/local/)与通过bundler设置的gems相比(你可以用它来覆盖它--path).使用sudo也可以将它们设置到另一个目录中,因为它sudo启动了一个具有不同环境的子shell.这就是你的原因rvmsudo.

如果你想看到的差异,比较$PATH,$GEM_HOME,$GEM_PATH$BUNDLE_PATH直接呼应的时候,用sudo并用rvmsudo.

  • 此注释对于在travis-ci.org上安装gem特别有用 (2认同)

小智 32

我不得不重新sudo gem install bundler开始工作.

  • 上帝,有时候Ruby生态系统只会让我尖叫和哭泣. (11认同)

小智 6

我遇到了类似的问题,可能存在rvm的兼容问题.我通过将rvm更新到最新版本来修复:

curl -L https://get.rvm.io | bash -s stable --ruby
Run Code Online (Sandbox Code Playgroud)

然后你应该重新加载rvm或只是打开新的终端窗口.然后我重新安装了捆绑包'gem install bundler'并正常运行'bundle install'

  • 如果你已经安装了rvm和更新的版本,这应该做同样的事情:`rvm get stable --auto` (3认同)

Sv1*_*Sv1 5

rvm rubygems current
Run Code Online (Sandbox Code Playgroud)

为我做了诀窍.