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



在安装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

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/

我也遇到过类似的问题。不确定这是否对您有帮助,但您可能会尝试使用rvmsudo gem install [gemname]安装gem,而不仅仅是使用gem install [gemname]sudo gem install [gemname]

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

如果要查看差异,请将直接回显时的$PATH$GEM_HOME$GEM_PATH$BUNDLE_PATHsudorvmsudo进行比较。

我必须sudo gem install bundler才能使它再次工作。

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

curl -L https://get.rvm.io | bash -s stable --ruby

然后您应该重新加载rvm,或者只打开新的终端窗口。然后我重新安装了bundler"gem-install-bundler",并像正常一样运行"bundle-install"

rvm rubygems current

为我成功了。

首先删除ruby然后

sudo apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev

安装所有需要的lib然后你可以安装ruby和rails

rvm install 1.9.3
rvm --default use 1.9.3
rvm gem install rails

在安装IntelliJ IDEA和相关的Rail Dev插件后,我在尝试生成控制器时收到了几乎相同的消息。从我的应用程序目录中,我刚刚执行了捆绑安装,然后能够再次生成控制器。

我知道这是一个非常古老的问题,但我最近刚刚决定在一台我不久前安装的服务器上转移到RVM,并且遇到了同样的问题,gem安装在错误的地方,这只是把一切都搞砸了。

在SO中爬行了几个小时后,我终于发现在根文件夹中的.gemrc文件中,我之前设置了gemhome: and gempath:变量,它们扰乱了整个系统。

去除这些线后,我所有的宝石都是工作财产。

只是想我会公布我的答案,以防有人处于同样的位置。

相关内容

  • 没有找到相关文章

最新更新