2011-08-01 75 views
4

我在Ubuntu 11.04上使用rvm從源代碼安裝ruby 1.9.2p180。當我安裝一個製作命令行二進制文件的gem時,不會創建鏈接。例如,當我安裝乘客寶石時,/var/lib/gems/1.9.2/bin/passenger按預期方式安裝並可正常工作,但不會按預期從/usr/bin/passenger進行符號鏈接。爲什麼我的rubgems沒有製作二進制文件的符號鏈接?

更新

其實我有(不同的11.04服務器從來沒有RVM上)與供應商的紅寶石和寶石同樣的問題。

 
$ sudo gem install bundler 
$ bundle 
bash: bundle: command not found 
$ type bundle 
-bash: type: bundle: not found 
$ ls -lF /var/lib/gems/1.8/bin/bundle 
-rwxr-xr-x 1 root root 383 2011-08-13 19:49 /var/lib/gems/1.8/bin/bundle* 
+0

您是否考慮過手動將'/ var/lib/gems/1.8/bin /'添加到'PATH'中?有關這個問題有一些爭議,例如:https://bugs.launchpad.net/ubuntu/+source/ruby1.9.1/+bug/706603 – romario333

+0

是的,這是一個解決方案 - 但在我的經驗在其他系統,寶石將始終從/ usr/bin創建符號鏈接或副本到gem可執行文件...(我認爲?)。 –

回答

8

RVM安裝應該是獨立的,這意味着它不會創建符號連接出RVM目錄。不過,這應該不是問題,因爲乘客二進制文件應該被RVM自動添加到路徑中。

基本上就應該像這樣工作:

$ rvm use ruby-1.9.2-p290 
$ which gem 

~/.rvm/rubies/ruby-1.9.2-p290/bin/gem 

$ gem install passenger 
$ which passenger 

~/.rvm/gems/ruby-1.9.2-p290/bin/passenger 

我猜想,您正在使用Ubuntu的版本寶石和紅寶石。 rvm use ruby-1.9.2-p290 --default應該解決這個問題。

如果RVM功能是無法訪問的,將它添加到你的.bash_profile:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function 

詳見https://rvm.beginrescueend.com/rvm/install/

+0

其實我有同樣的問題與供應商的紅寶石/寶石 - 我已經更新了我的問題 –

5

我想這可能是你的問題:安裝rvm寶石sudo。鑑於您在您的機器中擁有正確的權限,這不是必需的。但如果你真的需要這個,請改爲rvmsudo gem install bundler

相關問題