我是一个运行Ubuntu 10.04的Linux noob,并试图安装rails。 我先安装了ruby,然后安装了RVM,然后下载并安装了rubygems,然后安装了rails。
如果我在命令前面有一个“sudo”,Rails似乎只能回应。 如果我在terminal写'轨道新testing',我得到这个:
/usr/local/lib/site_ruby/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem rails (>= 0) (Gem::LoadError) from /usr/local/lib/site_ruby/1.8/rubygems.rb:214:in `activate' from /usr/local/lib/site_ruby/1.8/rubygems.rb:1082:in `gem' from /usr/bin/rails:18
如果我去terminal,写'轨道-v'我得到同样的东西:
/usr/local/lib/site_ruby/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem rails (>= 0) (Gem::LoadError) from /usr/local/lib/site_ruby/1.8/rubygems.rb:214:in `activate' from /usr/local/lib/site_ruby/1.8/rubygems.rb:1082:in `gem' from /usr/bin/rails:18
如果我去terminal,写'sudo rails -v',我得到以下内容:Rails 3.0.0.rc
“gem环境”给了我这个:
RUBYGEMS VERSION: 1.3.7 - RUBY VERSION: 1.9.2 (2010-07-11 patchlevel -1) [i686-linux] - INSTALLATION DIRECTORY: /home/josh/.rvm/gems/ruby-1.9.2-rc2@rails3tutorial - RUBY EXECUTABLE: /home/josh/.rvm/rubies/ruby-1.9.2-rc2/bin/ruby - EXECUTABLE DIRECTORY: /home/josh/.rvm/gems/ruby-1.9.2-rc2@rails3tutorial/bin
我的怀疑是我的path设置不正确,但我不知道如何解决它。 build议?
我也在Ubuntu 10.10的全新安装中遇到了这个问题,甚至在安装“$ rvm notes”记录的rvm和ruby前提条件之后。
“rvm”gem安装似乎无法找到系统zlib安装的问题。 丹尼尔上面的评论是一个很好的评论 – 可惜它没有被列为答案。
所以我的解决方案是遵循Daniel指出的指示: https : //rvm.beginrescueend.com/packages/zlib/ 。
$ rvm pkg install zlib $ rvm remove 1.9.2 $ rvm install 1.9.2
第一个命令将zlib本地安装到您的rvm区域。 第二个命令删除ruby 1.9.2,第三个命令用rvm-local zlib重新安装ruby 1.9.2。
此后设置你的红宝石版本并安装宝石:
$ rvm使用1.9.2
$ gem install“whatever”
我的猜测是你使用sudo安装你的宝石(例如sudo gem install rails
)。 当您使用sudo进行安装时,RVM将被忽略,正在使用系统红宝石。
使用RVM时,你真的不想用sudo安装(注意有一个命令rvmsudo,通过sudo运行你的RVM设置,但你很少会使用它)。 从您的环境中可以看到,您的宝石将存储在/home/josh/.rvm/gems/ruby-1.9.2-rc2@rails3tutorial/gems中,在这里您不需要root权限来安装。
所以试试:
gem install rails
作为你自己,看看是否一切正常。
如果你得到这个警告,“错误:加载命令:更新(LoadError)没有这样的文件加载 – zlib”
基本上,如果你在编译ruby的时候没有zlib库,你只需要回去安装库,然后重新编译ruby。
所以请尝试这些步骤
卸载红宝石
rvm删除ruby-1.9.2
安装必要的库
sudo apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev
重新安装红宝石
rvm安装1.9.2
你可能会想把这个版本的ruby设置为默认值
rvm使用1.9.2 – 默认
为了安全起见,关闭您目前打开的终端并打开一个新的终端。 你应该从这里走好。
正如Rob Di Marco上面所述,您不能在RVM中使用sudo gem install rails
(请参阅RVM文档 )。
我其实只是问了一个非常类似的问题。 我最初安装与sudo gem的轨道,当我试图安装使用RVM的老版本的轨道,我遇到了这个问题。 这是我的代码:
rvm use 1.8.7 rvm gemset create rails3.0.1 rvm 1.8.7@rails3.0.1 sudo gem install rails --version=3.0.1 #the *sudo* in this line is WRONG
另一个用户(zetetic)建议使用以下命令卸载“sudo gem rails”:
sudo gem uninstall rails
然后再安装没有sudo – gem install rails
在我做了所有这些之后,我重试了我的原始代码并且工作,但这次没有sudo:
rvm use 1.8.7 rvm gemset create rails3.0.1 rvm 1.8.7@rails3.0.1 gem install rails --version=3.0.1
如果您尝试使用RVM,上面的代码可能只与您有关,但为了解决您的问题,请尝试卸载您的sudo rails并重新安装而不使用sudo。 为我工作。 祝你好运!
解决方案是 :
apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev
然后 :
rvm install ruby-1.9.2-p290 rvm default 1.9.2
不,我所有的宝石都没有安装sudo 。
以下是一些可能有所帮助的调试信息。
rvm 1.9.2 --passenger
之前的$ PATH – rvm 1.9.2 --passenger
/home/kevin/.rvm/gems/ruby-1.9.2-p0/bin:/home/kevin/.rvm/gems/ruby-1.9.2-p0@global/bin:/home/kevin/.rvm/红宝石/红宝石1.9.2-P0 /斌:/home/kevin/.rvm/bin:在/ usr / local / sbin中:在/ usr / local / bin目录:/ usr / sbin目录:在/ usr / bin中:/ sbin目录:/ USR /游戏
rvm 1.9.2 --passenger
之后的$ PATH – rvm 1.9.2 --passenger
/home/kevin/.rvm/gems/ruby-1.9.2-p0/bin:/bin:/home/kevin/.rvm/rubies/ruby-1.9.2-p0/bin:/home/kevin/.rvm /斌:在/ usr / local / sbin中:在/ usr / local / bin目录:/ usr / sbin目录:在/ usr / bin中:/ sbin目录:/ bin中:在/ usr /游戏
这是我的.bashrc文件: http : //pastebin.com/H9U3azAk
如果你正在通过源代码安装
ext/Setup and uncomment the zlib line $ ./configure $ make $ sudo make install $ ruby -v => ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux] $ gem -v => 1.3.7
请参阅: RVM Ruby 1.9.1安装无法找到zlib,但其运行时和开发库在那里
首先,安装必要的库
sudo apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev
然后,重新安装红宝石1.9.2
rvm重装1.9.2 && rvm使用1.9.2