2010-08-19 85 views
24

我是一个运行Ubuntu 10.04并试图安装rails的linux noob。我首先安装了ruby,然后安装了RVM,然后下载并安装了rubygems,然后安装了rails。使用RVM在Ubuntu上安装Rails路径

只有在命令前面有'sudo'时,Rails才会响应。如果我写“轨新的测试”在终端,我得到这样的:

/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 

如果我去到终端和写“轨道-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 

如果我去到终端,写“须藤轨-v”我得到以下几点: Rails的3.0.0.rc

“宝石环境”使我这个:

RUBYGEMS VERSION: 1.3.7 
    - RUBY VERSION: 1.9.2 (2010-07-11 patchlevel -1) [i686-linux] 
    - INSTALLATION DIRECTORY: /home/josh/.rvm/gems/[email protected] 
    - RUBY EXECUTABLE: /home/josh/.rvm/rubies/ruby-1.9.2-rc2/bin/ruby 
    - EXECUTABLE DIRECTORY: /home/josh/.rvm/gems/[email protected]/bin 

我的怀疑是我的路径设置不正确,但我不知道如何解决它。 建议?

回答

17

我的猜测是你使用sudo安装了你的宝石(例如sudo gem install rails)。当您使用sudo进行安装时,RVM将被忽略,并且正在使用系统红宝石。

使用RVM时,你真的不想用sudo安装(注意有一个命令rvmsudo,通过sudo运行你的RVM设置,但你很少会使用它)。从您的环境中可以看到,您的宝石将存储在/home/josh/.rvm/gems/[email protected]/gems中,您不需要root权限即可安装。

所以尝试:

gem install rails 

为自己,看是否一切正常。

+0

谢谢,我只是想 '创业板安装导轨'并收到此: 错误:加载命令:安装(LoadError) no such file to load - zlib 错误:执行gem时(NameError) 未初始化常量Gem :: Commands :: InstallCommand 有什么想法吗? – user424703 2010-08-20 00:58:50

+0

听起来像您没有在您的机器上安装zlib。这是一个libssl的依赖,所以我会建议做一个 aptitude安装openssl 然后重试 – 2010-08-20 01:55:48

+0

感谢您的帮助...我跑'aptitude install openssl'...我重新安装rubygems并运行'宝石更新 - - 系统',并得到这个错误:“错误:加载命令:更新(LoadError) 没有这样的文件加载 - zlib”我也试过'gem install rails --version 3.0.0'并收到了非常类似的“错误:加载命令:install(LoadError) no such file to load - zlib 错误:执行gem时...(NameError) 未初始化常量Gem :: Commands :: InstallCommand“ 错误:执行gem时...( NameError) 未初始化常量Gem :: Commands :: UpdateCommand“ 任何想法我可以做什么? – user424703 2010-09-07 03:38:10

0

不,我所有的宝石都安装了没有sudo

以下是一些可能有所帮助的调试信息。

$ PATH之前rvm 1.9.2 --passenger

/home/kevin/.rvm/gems/ruby-1.9.2-p0/bin: /home/kevin/.rvm/gems/[email protected]/bin: /home/kevin/.rvm/rubies/ruby-1.9.2-p0/bin:/home/kevin/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/usr/games

$ 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/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

这是我的.bashrc文件:http://pastebin.com/H9U3azAk

0

,如果你是通过源代码安装

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 
2

由于罗布迪马尔科如上所述,你不能使用sudo gem install rails与RVM(见RVM Documentation)。

我其实只是问了一个非常类似的问题。我最初使用sudo gem安装了rails,当我尝试使用RVM安装较旧版本的rails时,我遇到了这个问题。这是我的代码:

rvm use 1.8.7 
rvm gemset create rails3.0.1 
rvm [email protected] 
sudo gem install rails --version=3.0.1 #the *sudo* in this line is WRONG 

另一位用户(探究性)建议用下面的命令来卸载 “命令的宝石轨”:

sudo gem uninstall rails 

再没有sudo重新安装 - gem install rails

在我做了所有这些之后,我重试了我的原始代码并且它可以工作,但是这次没有sudo:

rvm use 1.8.7 
rvm gemset create rails3.0.1 
rvm [email protected] 
gem install rails --version=3.0.1 

上面的代码可能仅适用于你,如果你正在尝试使用RVM,但是解决您的问题,请尝试卸载你的sudo轨和重新安装没有sudo。为我工作。祝你好运!

45

我也经历了一个干净的这个问题安装Ubuntu 10.10的......即使在安装后RVM和Ruby的“$ RVM笔记”记录的先决条件。

这似乎是与“RVM”宝石安装暂时无法找到系统zlib的安装问题。丹尼尔上面的评论是一个很好的评论 - 可惜它没有列为答案。

所以我的解决办法是按照说明在所指出的丹尼尔:https://rvm.beginrescueend.com/packages/zlib/

$ rvm pkg install zlib 
$ rvm remove 1.9.2 
$ rvm install 1.9.2 

第一个命令将zlib本地安装到您的rvm区域。 第二命令删除红宝石1.9.2和第三命令重新安装红宝石1.9.2与RVM本地ZLIB。

然后设置你的Ruby版本,然后安装宝石:

$ RVM使用1.9.2
$创业板安装 “无所谓”

+2

我不得不使用以下变体:rvm install 1.9.2 --with-zlib-dir = $ rvm_path/usr – 2011-10-21 22:29:28

+0

在继续安装zlib之前,我必须先移除ruby平台 – 2012-02-03 20:19:38

2

解决的办法是

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 
7

如果你得到这个警告,“错误:加载命令:更新(LoadError)没有这样的文件加载 - zlib”

基本上,如果zlib库不在那里你编译ruby时,你只是必须回去安装库,然后重新编译ruby。

所以请尝试以下步骤

  1. 卸载红宝石

    rvm remove ruby-1.9.2

  2. 安装必要的库

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

  3. 重新安装红宝石

    rvm install 1.9.2

  4. 你可能会想设置这个版本的红宝石为默认

    rvm use 1.9.2 --default

  5. 为安全起见,关闭当前打开的终端,并打开一个新的。你应该很好从这里出发。

0
  1. 第一,安装必要的库

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

  2. 然后,重新安装红宝石1.9.2

    rvm reinstall 1.9.2 && rvm use 1.9.2