我在Mac OSX 10.7.4上。所以我在成为root用户时安装了RubyGem的rails。
当我是根时,rails -v
会产生这个:
bash-3.2# rails -v
Rails 3.2.8
但是当我不是根时,rails -v
,会产生这个:
Sreejiths-MacBook-Pro:~ sreejith$ rails -v
/opt/local/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:247:in `to_specs': Could not find railties (>= 0) amongst [bundler-1.2.1, rake-0.9.2.2, rubygems-bundler-1.1.0, rvm-1.11.3.5] (Gem::LoadError)
from /opt/local/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:256:in `to_spec'
from /opt/local/lib/ruby/site_ruby/1.8/rubygems.rb:1231:in `gem'
from /opt/local/bin/rails:22
为什么会这样?
当以根身份在终端时,gem 的加载路径是什么。您可以通过进入irb并键入$LOAD_PATH
来找到这一点。$LOAD_PATH
是您可以访问的吗?gem 是否已安装到 root 的主目录(或子目录)中?
您是否正在使用 rbenv 或 rvm 之类的东西?这两个工具都是为每个用户而不是每个系统设置红宝石。因此,当您以自己身份登录时,将一组 gem 作为根是不够的。
最后,您可以随时尝试sudo gem install bundler
重新安装捆绑器,然后bundle install
重新安装您的 Gem。