私は企業のファイアウォールの背後にいて、rsync アウトを許可しておらず、HTTP/HTTPS 用のプロキシが必要です。この環境の macports ステップで rvm が壊れるという問題が発生しています。
要約すると:
私はやろうとしています
rvm install ruby-1.9.3-p286
rvm は macports を使用したいと考えています。
macports は rsync を使用して更新したいのですが、rsync アウトできません。
ローカルの macports ソース リポジトリをセットアップしましたが、役に立たないようです。macports はまだ rsync を使用したいと考えています。
同様の質問に対する提案では、rvm のスクリプトを変更
port selfupdate
することを提案しました。port sync
しかし、それは助けにはなりませんでした。svn update
しかし、私は
svn update
手動で問題なく実行できるので、どこに問題があるのか わかりません。
詳細は次のとおりです。
このガイドに従って、ファイアウォールの背後で macports を使用し、リポジトリをローカルでチェックアウトし、/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]
ガイドとの唯一の相違点は、10.5 ではなく 10.8 用の macports をインストールしたことです。
ただし、rvm の macports は何らかの理由でまだ rsync を使用しているようです。
$ rvm install ruby-1.9.3-p286
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/10.8/x86_64/ruby-1.9.3-p286.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Installing requirements for osx, might require sudo password.
Password:
DEBUG: Copying /Users/tim/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: Connection refused (61)
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
これは、この質問と非常によく似ています。回答では、次の変更が提案されています。
$ 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 ポート -dv selfupdate || $を返しますか? + __rvm_try_sudo ポート -dv 同期 || $を返しますか? } requirements_osx_port_define()
残念ながら、それは次の結果になります。
$ rvm install ruby-1.9.3-p286 バイナリ ルビーを検索しています。これには時間がかかる場合があります。 osx/10.8/x86_64/ruby-1.9.3-p286 で使用できるバイナリ Ruby はありません。 コンパイルを続行します。バイナリ ルビーの詳細については、「rvm ヘルプ マウント」を参照してください。 osx の要件をインストールするには、sudo パスワードが必要になる場合があります。 パスワード: デバッグ: /Users/tim/Library/Preferences/com.apple.dt.Xcode.plist を /opt/local/var/macports/home/Library/Preferences にコピーしています ---> ポート ツリーの更新 file:///opt/local/var/macports/sources/svn.macports.org/trunk/dports/ からのローカル ポート ツリーの同期 デバッグ: /usr/bin/svn update --non-interactive /opt/local/var/macports/sources/svn.macports.org/trunk/dports DEBUG: euid/egid の変更 - 現在の euid: 0 - 現在の egid: 0 svn: 'http://svn.macports.org/repository/macports/trunk/dports' のオプション: サーバーに接続できませんでした (http://svn.macports.org) コマンドが失敗しました: /usr/bin/svn update --non-interactive /opt/local/var/macports/sources/svn.macports.org/trunk/dports 終了コード: 1 デバッグ: コマンドの実行に失敗しました 実行中 「システム $svn_commandline」 エラー: ローカル ポート ツリーの同期が svn update の実行に失敗しました デバッグ: 1 つのソースの同期に失敗しました 実行中 「mportsync [array get global_options]」 ポートの同期に失敗しました: 1 つのソースの同期に失敗しました
macports で直接試す:
$ ポート -d 同期 ---> ポート ツリーの更新 file:///opt/local/var/macports/sources/svn.macports.org/trunk/dports/ からのローカル ポート ツリーの同期 デバッグ: /usr/bin/svn update --non-interactive /opt/local/var/macports/sources/svn.macports.org/trunk/dports svn: 'http://svn.macports.org/repository/macports/trunk/dports' のオプション: サーバーに接続できませんでした (http://svn.macports.org) コマンドが失敗しました: /usr/bin/svn update --non-interactive /opt/local/var/macports/sources/svn.macports.org/trunk/dports 終了コード: 1 デバッグ: コマンドの実行に失敗しました 実行中 「システム $svn_commandline」 エラー: ローカル ポート ツリーの同期が svn update の実行に失敗しました デバッグ: 1 つのソースの同期に失敗しました 実行中 「mportsync [array get global_options]」 ポートの同期に失敗しました: 1 つのソースの同期に失敗しました
そのsvnコマンドをうまく実行できるので、これは奇妙です:
$ /usr/bin/svn update --non-interactive /opt/local/var/macports/sources/svn.macports.org/trunk/dports
At revision 107532.
root もその svn コマンドを正常に実行できるため、ユーザーのアクセス許可/プロファイルの問題ではありません。
$ sudo /usr/bin/svn update --non-interactive /opt/local/var/macports/sources/svn.macports.org/trunk/dports
At revision 107532.
チェーン内の何かがプロキシを正しく認識していないと思います。でも:
http_proxy
およびhttps_proxy
環境変数でプロキシが正しく設定されている- また、
~/.subversion/servers
(変数としてhttp-proxy-host
およびセクションhttp-proxy-port
で)設定されます[global]
- また、
/opt/local/etc/macports/macports.conf
(変数proxy_http
およびとしてproxy_https
)に設定されます
その他の情報:
- ルビー1.8.7
- rvm1.21.4
- OS X 10.8.3
- Mac ポート 2.1.3
他に役立つ情報があれば教えてください。
私の質問は、この環境でどのように仕事をすることができますか? port sync
(これも修正されることを望んでいますrvm
)