为什么我的rubgems没有与二进制文件建立符号链接?

Joh*_*hir 4 ruby ubuntu gem rubygems rvm

我在Ubuntu 11.04上使用rvm从源代码安装了ruby 1.9.2p180.当我安装一个创建命令行二进制文件的gem时,不会创建链接.例如,当我安装乘客gem时,/var/lib/gems/1.9.2/bin/passenger按预期安装并工作,但符号链接不是/usr/bin/passenger按预期进行的.

更新

实际上我与供应商ruby和gem有相同的问题(在一个从未有过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*

rom*_*333 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
Run Code Online (Sandbox Code Playgroud)

我猜你正在使用ubuntu的gem和ruby版本.rvm use ruby-1.9.2-p290 --default应该解决这个问题

如果无法访问rvm函数,请将其添加到.bash_profile:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅https://rvm.beginrescueend.com/rvm/install/.


Vic*_*ues 5

我想这可能是你的问题:安装rvm宝石sudo.鉴于您在计算机中拥有正确的权限,因此不需要这样做.但如果你真的需要这个,那就做吧rvmsudo gem install bundler.