我将ruby 1.9.2添加到运行10.6.8的Mac并且遇到 rvm rubygems latest 的问题。我运行以下没有问题:
$ rvm install 1.9.2
$ rvm use 1.9.2
$ ruby --version
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin10.8.0]
然后点击此错误:
$ rvm rubygems latest
Removing old Rubygems files...
Installing rubygems-1.8.10 for system ...
ERROR: Error running 'GEM_PATH=":@global" GEM_HOME="" "/usr/local/rvm/rubies//bin/ruby" "/usr/local/rvm/src/rubygems-1.8.10/setup.rb"', please read /usr/local/rvm/log/system/rubygems.install.log
WARN: Installation of rubygems did not complete successfully.
ln: /usr/local/rvm/rubies//lib/ruby/gems/: No such file or directory
这里显而易见的是bin / ruby和lib / ruby路径中的额外正斜杠。任何想法来自何处以及如何解决它?
请注意,我的.bash_profile文件末尾还有以下行:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
我正在做所有这些,以便我可以运行Octopress。我还有一个Rails 2.3.8项目,我正在同一台机器上开发。这是我第一次处理ruby(1.8.7)的系统版本之外的任何其他内容。
答案 0 :(得分:5)
我遇到了同样的问题,虽然我并没有完全理解为什么会这样,但攻击主要症状对我来说已经解决了。
您的系统上似乎已经安装了另一个版本的ruby。 rvm rubygems脚本中生成错误的行是:
__rvm_run "rubygems.install" \
"GEM_PATH=\"$GEM_PATH:${GEM_PATH%%@*}@global\" GEM_HOME=\"$GEM_HOME\" \"${rvm_ruby_binary}\" \"${rvm_src_path}/$rvm_gem_package_name/setup.rb\"" \
"Installing $rvm_gem_package_name for ${rvm_ruby_string} ..."
https://github.com/wayneeseguin/rvm/blob/master/scripts/rubygems#L104
我认为内部rvm正在丢失自己,并在其上创建带有双斜杠的路径,可能是因为RVM将RVM本地目录附加到类似which ruby
的某个命令的输出(或者rvm的路径是什么)寻找可能是)。我真的不知道为什么会这样做(RVM是否在安装了ruby的系统中工作?)。
无论如何,要在我的机器中修复它,我只需运行sudo aptitude purge ruby
(你当然会运行相当于MAC的MAC),以删除乱搞rvm的ruby版本。
如果您的计算机上安装了与ruby相关的内容,我认为最好将它们全部删除,并使用RVM来管理所有与ruby相关的优点。
在linux(debian / ubuntu)上,一个好方法是输入dpkg -l | grep ruby
来查看与你的机器上安装了哪些与ruby相关的软件包,然后将它们全部清除。
之后,运行
$ rvm use 1.9.2
$ rvm rubygems latest
一切都应该像魅力一样。至少卸载ruby对我有用。
希望它有所帮助。
答案 1 :(得分:1)
我刚刚运行了rvm default
,它允许一切正常运行。我认为rvm没有完全设置或完全没有设置的东西是正确的。这实际上一直为我解决了这个问题。