[英]Installing Rails Path on Ubuntu with RVM
我是一个运行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
“宝石环境”给了我这个:
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:
$ rvm使用1.9.2
$ gem安装“无论如何”
我的猜测是您使用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库不存在,则只需返回并安装该库,然后重新编译ruby。
所以尝试这些步骤
卸载ruby
RVM删除红宝石1.9.2
安装必要的库
sudo apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev
重新安装红宝石
rvm安装1.9.2
您可能需要将此版本的Ruby设置为默认版本
rvm use 1.9.2-默认
为了安全起见,请关闭当前打开的终端,然后再打开一个新终端。 您应该从这里出发。
如Rob Di Marco所述,您不能将sudo gem install rails
与RVM一起使用(请参阅RVM文档 )。
我实际上只是问了一个非常类似的问题。 我最初使用sudo gem安装了rails,当我尝试使用RVM安装旧版本的rails时遇到了这个问题。 这是我的代码:
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 apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev
然后,重新安装ruby 1.9.2
rvm重新安装1.9.2 && rvm使用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 / bin:/home/kevin/.rvm/bin:/ usr / local / sbin:/ usr / local / bin:/ usr / sbin:/ usr / bin:/ sbin:/ usr /游戏
rvm 1.9.2 --passenger
之后的$ PATH
/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
如果通过源安装
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.