2010-08-19 54 views
24

我是一個運行Ubuntu 10.04並試圖安裝rails的linux noob。我首先安裝了ruby,然後安裝了RVM,然後下載並安裝了rubygems,然後安裝了rails。使用RVM在Ubuntu上安裝Rails路徑

只有在命令前面有'sudo'時,Rails纔會響應。如果我寫「軌新的測試」在終端,我得到這樣的:

/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 

如果我去到終端和寫「軌道-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 

如果我去到終端,寫「須藤軌-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/[email protected] 
    - RUBY EXECUTABLE: /home/josh/.rvm/rubies/ruby-1.9.2-rc2/bin/ruby 
    - EXECUTABLE DIRECTORY: /home/josh/.rvm/gems/[email protected]/bin 

我的懷疑是我的路徑設置不正確,但我不知道如何解決它。 建議?

回答

17

我的猜測是你使用sudo安裝了你的寶石(例如sudo gem install rails)。當您使用sudo進行安裝時,RVM將被忽略,並且正在使用系統紅寶石。

使用RVM時,你真的不想用sudo安裝(注意有一個命令rvmsudo,通過sudo運行你的RVM設置,但你很少會使用它)。從您的環境中可以看到,您的寶石將存儲在/home/josh/.rvm/gems/[email protected]/gems中,您不需要root權限即可安裝。

所以嘗試:

gem install rails 

爲自己,看是否一切正常。

+0

謝謝,我只是想 '創業板安裝導軌'並收到此: 錯誤:加載命令:安裝(LoadError) no such file to load - zlib 錯誤:執行gem時(NameError) 未初始化常量Gem :: Commands :: InstallCommand 有什麼想法嗎? – user424703 2010-08-20 00:58:50

+0

聽起來像您沒有在您的機器上安裝zlib。這是一個libssl的依賴,所以我會建議做一個 aptitude安裝openssl 然後重試 – 2010-08-20 01:55:48

+0

感謝您的幫助...我跑'aptitude install openssl'...我重新安裝rubygems並運行'寶石更新 - - 系統',並得到這個錯誤:「錯誤:加載命令:更新(LoadError) 沒有這樣的文件加載 - zlib」我也試過'gem install rails --version 3.0.0'並收到了非常類似的「錯誤:加載命令:install(LoadError) no such file to load - zlib 錯誤:執行gem時...(NameError) 未初始化常量Gem :: Commands :: InstallCommand「 錯誤:執行gem時...( NameError) 未初始化常量Gem :: Commands :: UpdateCommand「 任何想法我可以做什麼? – user424703 2010-09-07 03:38:10

0

不,我所有的寶石都安裝了沒有sudo

以下是一些可能有所幫助的調試信息。

$ PATH之前rvm 1.9.2 --passenger

/home/kevin/.rvm/gems/ruby-1.9.2-p0/bin: /home/kevin/.rvm/gems/[email protected]/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:/usr/games

$ PATH後rvm 1.9.2 --passenger

/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

0

,如果你是通過源代碼安裝

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 
2

由於羅布迪馬爾科如上所述,你不能使用sudo gem install rails與RVM(見RVM Documentation)。

我其實只是問了一個非常類似的問題。我最初使用sudo gem安裝了rails,當我嘗試使用RVM安裝較舊版本的rails時,我遇到了這個問題。這是我的代碼:

rvm use 1.8.7 
rvm gemset create rails3.0.1 
rvm [email protected] 
sudo gem install rails --version=3.0.1 #the *sudo* in this line is WRONG 

另一位用戶(探究性)建議用下面的命令來卸載 「命令的寶石軌」:

sudo gem uninstall rails 

再沒有sudo重新安裝 - gem install rails

在我做了所有這些之後,我重試了我的原始代碼並且它可以工作,但是這次沒有sudo:

rvm use 1.8.7 
rvm gemset create rails3.0.1 
rvm [email protected] 
gem install rails --version=3.0.1 

上面的代碼可能僅適用於你,如果你正在嘗試使用RVM,但是解決您的問題,請嘗試卸載你的sudo軌和重新安裝沒有sudo。爲我工作。祝你好運!

45

我也經歷了一個乾淨的這個問題安裝Ubuntu 10.10的......即使在安裝後RVM和Ruby的「$ RVM筆記」記錄的先決條件。

這似乎是與「RVM」寶石安裝暫時無法找到系統zlib的安裝問題。丹尼爾上面的評論是一個很好的評論 - 可惜它沒有列爲答案。

所以我的解決辦法是按照說明在所指出的丹尼爾:https://rvm.beginrescueend.com/packages/zlib/

$ rvm pkg install zlib 
$ rvm remove 1.9.2 
$ rvm install 1.9.2 

第一個命令將zlib本地安裝到您的rvm區域。 第二命令刪除紅寶石1.9.2和第三命令重新安裝紅寶石1.9.2與RVM本地ZLIB。

然後設置你的Ruby版本,然後安裝寶石:

$ RVM使用1.9.2
$創業板安裝 「無所謂」

+2

我不得不使用以下變體:rvm install 1.9.2 --with-zlib-dir = $ rvm_path/usr – 2011-10-21 22:29:28

+0

在繼續安裝zlib之前,我必須先移除ruby平臺 – 2012-02-03 20:19:38

2

解決的辦法是

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 
7

如果你得到這個警告,「錯誤:加載命令:更新(LoadError)沒有這樣的文件加載 - zlib」

基本上,如果zlib庫不在那裏你編譯ruby時,你只是必須回去安裝庫,然後重新編譯ruby。

所以請嘗試以下步驟

  1. 卸載紅寶石

    rvm remove ruby-1.9.2

  2. 安裝必要的庫

    sudo apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev

  3. 重新安裝紅寶石

    rvm install 1.9.2

  4. 你可能會想設置這個版本的紅寶石爲默認

    rvm use 1.9.2 --default

  5. 爲安全起見,關閉當前打開的終端,並打開一個新的。你應該很好從這裏出發。

0
  1. 第一,安裝必要的庫

    sudo apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev

  2. 然後,重新安裝紅寶石1.9.2

    rvm reinstall 1.9.2 && rvm use 1.9.2

相關問題