我将ruby 1.9.2添加到运行10.6.8的Mac并且最近遇到了rvm rubygems的问题.我运行以下没有问题:
$ 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]
Run Code Online (Sandbox Code Playgroud)
然后点击此错误:
$ 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
Run Code Online (Sandbox Code Playgroud)
这里显而易见的是bin/ruby和lib/ruby路径中的额外正斜杠.任何想法来自何处以及如何解决它?
请注意,我的.bash_profile文件末尾还有以下行:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
Run Code Online (Sandbox Code Playgroud)
我正在做所有这些,以便我可以运行Octopress.我还有一个Rails 2.3.8项目,我正在同一台机器上开发.这是我第一次处理ruby系统版本之外的任何东西(1.8.7).
我遇到了同样的问题,虽然我并没有完全理解为什么会发生这种情况,但攻击主要症状对我来说已经解决了.
您的系统上似乎已经安装了另一个版本的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
Run Code Online (Sandbox Code Playgroud)
一切都应该像魅力一样.至少卸载ruby对我有用.
希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
4202 次 |
| 最近记录: |