[英]Can't seem to “use” the RVM Ruby install
當我嘗試調用rails, rails -v
或rails -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 system
和rails -v
,我得到:
Rails 2.3.8
所以我根本不知道這個錯誤表明了什么。
您尚未完成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
如果您安裝了ruby以及rails的所有內容,則可能需要通過執行以下操作選中“運行命令作為登錄shell”復選框,
我剛剛使用RVM創建了一個“gemset”,切換到它,並嘗試再次安裝Rails,它現在可以工作了。
我不確定為什么要修復它或為什么以前沒有工作。 我喜歡什么時候工作,但我寧願知道它為什么不能使用@global
gemset。
感謝你的幫助!
我也有上面描述的確切症狀並且在這個問題上停留了很長一段時間(紅寶石環境和依賴性是一個可怕的混亂)。 我不能說我已經走出困境但至少我現在正在拿起正確版本的rails並且已經過了這個錯誤。
我相信這里的真正問題實際上與zlib有關。 看起來它是將你的系統版本的ruby(v1.8可能通過yum / apt-get安裝)與你需要的其他版本或通過rvm安裝的Ruby分離用於其他項目的關鍵組件。
如果您沒有安裝zlib,或者rvm沒有正確使用它,那么有時您會選擇系統ruby / rails並發生各種奇怪的錯誤。
如果你有安裝的zlib(YUM /易於得到安裝的zlib)然后我發現了這個竅門是,我曾專門告訴RVM的zlib版本安裝Ruby時使用的。
rvm install 1.9.3 --with-zlib-dir = $ rvm_path / usr
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.