我正在尝试使用RVM在我的iMac上安装ruby。
首先键入以下内容:
rvm list known
然后我使用以下行定位我要安装的版本(我正在遵循建议1.9.2而不是基础1.8.7的指南):
rvm install 1.9.2
然后我明白了:
27698AM:~ butler15$ rvm install 1.9.2
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/10.7/x86_64/ruby-1.9.2-p320.
Continuing with compilation. Please read 'rvm mount' to get more information on binary rubies.
Installing requirements for osx, might require sudo password.
Password:
我输入密码后就明白了:
DEBUG: Copying /Users/butler15/Library/Preferences/com.apple.dt.Xcode.plist to /opt/local/var/macports/home/Library/Preferences
DEBUG: MacPorts sources location: /opt/local/var/macports/sources/rsync.macports.org/release/tarballs
---> Updating MacPorts base sources using rsync
rsync: failed to connect to rsync.macports.org: Operation timed out (60)
rsync error: error in socket IO (code 10) at /SourceCache/rsync/rsync-42/rsync/clientserver.c(105) [receiver=2.6.9]
Command failed: /usr/bin/rsync -rtzv --delete-after rsync://rsync.macports.org/release/tarballs/base.tar /opt/local/var/macports/sources/rsync.macports.org/release/tarballs
Exit code: 10
DEBUG: Error synchronizing MacPorts sources: command execution failed
while executing
"macports::selfupdate [array get global_options] base_updated"
Error: /opt/local/bin/port: port selfupdate failed: Error synchronizing MacPorts sources: command execution failed
如果我理解正确,它正在尝试更新MacPorts但由于落后于代理(或其他什么?而失败?)
我已尝试按照本指南操作但不起作用:http://samkhan13.wordpress.com/2012/06/15/make-macports-work-behind-proxy/
更多信息:
我当前的RVM和RUBY版本:http://d.pr/i/H1Eu
我的OSX - 10.7.4
提前感谢您的帮助:)
答案 0 :(得分:7)
虽然Koji的评论使RVM在代理服务器之后工作,但Macports也需要更新以自动在代理服务器后面工作。
首先,从http://www.macports.org/install.php
的软件包安装macports然后运行以下命令:
sudo mkdir -p /opt/local/var/macports/sources/svn.macports.org/trunk/dports/
cd /opt/local/var/macports/sources/svn.macports.org/trunk/dports/
sudo svn co http://svn.macports.org/repository/macports/trunk/dports/ .
在/opt/local/etc/macports/sources.conf中注释掉
rsync://rsync.macports.org/release/tarballs/ports.tar [default]
使用您喜欢的编辑器,然后在该行下方添加。
file:///opt/local/var/macports/sources/svn.macports.org/trunk/dports/ [default]
然后运行这些命令以便更新并且不会抱怨您的端口没有被编入索引。
sudo port -d sync
sudo portindex
然后通过在selfupdate
函数中将sync
更改为requirements_osx_port_update_system()
来修改.rvm / scripts / functions / requirements / osx_port。
requirements_osx_port_update_system()
{
#__rvm_try_sudo port -dv selfupdate || return $?
__rvm_try_sudo port -dv sync || return $?
}
答案 1 :(得分:3)
如果您正在尝试MAKE MACPORTS WORK BEHIND PROXY
,那么如何避免port selfupdate
?
$ diff -u .rvm/scripts/functions/requirements/osx_port.org .rvm/scripts/functions/requirements/osx_port --- .rvm/scripts/functions/requirements/osx_port.org 2013-05-28 16:58:37.000000000 +0900 +++ .rvm/scripts/functions/requirements/osx_port 2013-05-28 16:58:50.000000000 +0900 @@ -82,7 +82,7 @@ requirements_osx_port_update_system() { - __rvm_try_sudo port -dv selfupdate || return $? + __rvm_try_sudo port -dv sync || return $? } requirements_osx_port_define()
就我而言,它运作良好。
答案 2 :(得分:1)
在终端中运行“__rvm_try_sudo port -dv selfupdate”并通过键盘输入密码 然后重新运行脚本以安装ruby
适用于我的笔记本电脑
祝你好运答案 3 :(得分:0)
您需要先(重新)安装命令行工具:
sudo xcode-select --install
然后,更新macports:
sudo port -v selfupdate
来源:https://stackoverflow.com/a/19634495/226255
然后,您可能会遗漏一些要求,所以:
sudo rvm requirements