当前位置: 首页>>技术教程>>正文


使用RVM在Ubuntu上安装Rails Path

, ,

问题描述

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

仅当命令前面有’sudo’时,Rails才响应。如果我在终端中编写“ rails new test”,则会得到以下信息:

/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

如果我去终端写’rails -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

如果我在终端上输入“ sudo rails -v”,则会得到以下信息:Rails 3.0.0.rc

‘gem environment’给了我这个:

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

我怀疑我的路径设置不正确,但不确定如何解决。有什么建议吗?

最佳回答

即使在安装了“ $ rvm notes”记录的rvm和ruby必备组件之后,我在全新安装的Ubuntu 10.10上也遇到了此问题。

“rvm” gem安装似乎找不到系统zlib安装,这似乎是一个问题。丹尼尔(Daniel)的上述评论是一个很棒的评论-可惜没有被列为答案。

因此,对我来说,解决方案是按照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。

然后设置您的红 gems 版本并安装gems:

$ rvm使用1.9.2 $ gem install “whatever”

次佳回答

我的猜测是您使用sudo安装了gems(例如sudo gem install rails)。使用sudo进行安装时,将忽略RVM并使用系统ruby。

使用RVM时,您确实不想使用sudo进行安装(请注意,有一条命令rvmsudo可以通过sudo运行RVM设置,但实际上很少使用它)。从您的环境中可以看到,gem将存储在/home/josh/.rvm/gems/ruby-1.9.2-rc2@rails3tutorial/gems中,您无需root权限即可安装。

因此,请尝试:

gem install rails

像自己一样,看看一切是否正常。

第三种回答

如果收到此警告,则“错误:正在加载命令:更新(LoadError)没有要加载的文件-zlib”

基本上,如果在编译ruby时zlib库不存在,您只需要返回并安装该库,然后安装re-compile ruby​​。

所以尝试这些步骤

  1. 卸载ruby rvm删除ruby-1.9.2

  2. 安装必要的库sudo apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev

  3. 重新安装ruby rvm install 1.9.2

  4. 您可能需要将此版本的ruby设置为默认rvm use 1.9.2 –default

  5. 为了安全起见,请关闭当前打开的终端,然后再打开一个新终端。您应该从这里出发。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8923.html,未经允许,请勿转载。