2011-08-01 4 views
4

私はrvmを使ってソースからインストールされたruby 1.9.2p180を使ってUbuntu 11.04にいます。コマンドラインバイナリを作成するgemをインストールすると、リンクが作成されません。たとえば、私が乗客の宝石をインストールすると、/var/lib/gems/1.9.2/bin/passengerが正常にインストールされていますが、シンボリックリンクが期待通りに/usr/bin/passengerから作成されません。私のRubgemsがバイナリへのシンボリックリンクを作っていないのはなぜですか?

更新は実際に私が(RVMたことのない別の11.04サーバ上)ベンダーのルビーや宝石と同じ問題を抱えています。

 
$ 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

これは一つの解決策ですが、他のシステムでは、gemは常に/ usr/binからgem実行可能ファイルへのシンボリックリンクまたはコピーを作成します...(私は思っていますか?)。 –

答えて

8

RVMのインストールは自己完結型である必要があります。つまり、RVMディレクトリからシンボリックリンクを作成しません。しかし、旅客バイナリはRVMによって自動的にパスに追加されるため、問題はありません。私はあなたが宝石とルビーのUbuntuのバージョンを使用していることを推測する

$ 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 

基本的には次のように動作するはずです。 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

実際に私はベンダーのruby/gemと同じ問題があります - 私は質問を更新しました –

5

これはあなたの問題だと思う:sudoとrvmの宝石をインストールします。マシンに適切な特権がある場合、これは必要ありません。しかし、これが本当に必要な場合は、代わりにrvmsudo gem install bundlerを実行してください。

関連する問題