在安装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_PATH
与sudo
和rvmsudo
进行比较。
我必须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:
变量,它们扰乱了整个系统。
去除这些线后,我所有的宝石都是工作财产。
只是想我会公布我的答案,以防有人处于同样的位置。