似乎无法“使用”RVM Ruby安装

时间:2012-08-24 08:30:34

标签: ruby-on-rails ruby ruby-on-rails-3

当我尝试调用rails rails -vrails -c时,我收到此错误:

/usr/lib/ruby/site_ruby/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem rails (>= 0) (Gem::LoadError)
    from /usr/lib/ruby/site_ruby/1.8/rubygems.rb:214:in `activate'
    from /usr/lib/ruby/site_ruby/1.8/rubygems.rb:1082:in `gem'
    from /usr/bin/rails:18

我安装了RVM,用它来安装Ruby 1.9.3,并切换到它rvm use 1.9.3 --default

当我ruby -v时:

ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]

我还gem install rails --no-rdoc --no-ri并检查了...... ls ~/ruby/gems/gems/

actionmailer-3.2.8/    journey-1.0.4/     rake-0.9.2.2/
actionpack-3.2.8/      json-1.7.5/        rdoc-3.12/
activemodel-3.2.8/     mail-2.4.4/        rubygems-bundler-1.0.7/
activerecord-3.2.8/    mime-types-1.19/   rvm-1.11.3.5/
activeresource-3.2.8/  multi_json-1.3.6/  sprockets-2.1.3/
activesupport-3.2.8/   polyglot-0.3.3/    sprockets-2.4.5/
arel-3.0.2/            rack-1.4.1/        thor-0.16.0/
builder-3.0.0/         rack-cache-1.2/    tilt-1.3.3/
bundler-1.1.5/         rack-ssl-1.3.2/    treetop-1.4.10/
erubis-2.7.0/          rack-test-0.6.1/   tzinfo-0.3.33/
hike-1.2.1/            rails-3.2.8/
i18n-0.6.0/            railties-3.2.8/

如果我echo $GEM_PATH

/home/flackend/.rvm/gems/ruby-1.9.3-p194:/home/flackend/.rvm/gems/ruby-1.9.3-p194@global

echo $PATH

/home/flackend/.rvm/gems/ruby-1.9.3-p194/bin:/home/flackend/.rvm/gems/ruby-1.9.3-p194@global/bin:/home/flackend/.rvm/rubies/ruby-1.9.3-p194/bin:/home/flackend/.rvm/bin:/usr/local/jdk/bin:/home/flackend/perl5/bin:/usr/kerberos/bin:/usr/lib/courier-imap/bin:/usr/lib64/ccache:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/X11R6/bin:/home/flackend/.rvm/bin:/home/flackend/bin

cat ~/.bashrc

# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

# User specific aliases and functions

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting

cat ~/.bash_profile

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

所以某个地方有一条路径可以看到系统Ruby安装。有任何想法吗?谢谢!


修改

好的,如果我切换回系统Ruby,rvm use systemrails -v,我得到:

Rails 2.3.8

所以我完全不知道这个错误是什么意思。

4 个答案:

答案 0 :(得分:2)

您尚未完成rvm安装。您需要在.bashrc中的/ usr / bin之前添加〜/ .rvm bin路径:

[[ -s "/Users/pftg/.rvm/scripts/rvm" ]] && source "/Users/pftg/.rvm/scripts/rvm".

要测试只检查$ PATH env。应该类似于:

/.../.rvm/gems/ruby-1.9.3-p125@global/bin:/.../.rvm/rubies/ruby-1.9.3-p125/bin:/.../.rvm/bin:/usr/local/bin

答案 1 :(得分:1)

如果您安装了ruby以及rails的所有内容,则可能需要通过执行以下操作选择“运行命令作为登录shell”复选框,

  1. 打开终端
  2. 转到“编辑”标签,然后从菜单项中选择“配置文件首选项”。
  3. 应显示“配置文件首选项”窗口,然后选择“标题和命令”选项卡。
  4. 然后选中“运行命令”复选框作为登录shell。

答案 2 :(得分:0)

我刚刚使用RVM创建了一个“gemset”,切换到它,并尝试再次安装Rails,现在可以正常工作。

https://rvm.io/gemsets/

我不确定为什么要修复它或为什么之前没有工作。我喜欢什么时候工作,但我宁愿弄明白为什么它不能使用@global gemset。

感谢您的帮助!

答案 3 :(得分:0)

我也有上面描述的确切症状并且在这个问题上停留了很长一段时间(红宝石环境和依赖性是一个可怕的混乱)。我不能说我已经走出困境但至少我现在正在拿起正确版本的rails并且已经过了这个错误。

我认为这里的真正问题实际上与zlib有关。看起来它是将你的系统版本的ruby(v1.8可能通过yum / apt-get安装)与你需要的其他版本或通过rvm安装的Ruby分离用于其他项目的关键组件。

如果您没有安装zlib,或者rvm没有正确使用它,那么有时您会选择系统ruby / rails并发生各种奇怪的错误。

如果您 DO 安装了zlib(yum / apt-get install zlib),那么我发现的技巧是我特意告诉rvm在安装ruby时使用哪个版本的zlib。

rvm install 1.9.3 --with-zlib-dir = $ rvm_path / usr