[英]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.