現在の環境 (企業プロキシを含む) では、何らかの理由で CURL または WGET を使用して RVM をインストールできません。これらのユーティリティを使用せずにソースから RVM をインストールする別の方法はありますか? 私が行ったすべてのWeb検索は、「カール」方法を返します。
何か案は?
rvm スクリプトを変更することはお勧めできません
寝ようとしている間、あなたの質問/私の答えについて考えていました...そして、あなたに別の答えを書かずに目を閉じることができませんでした. rvm インストール スクリプトをハッキングすることは、実際にすべきことではありません。Rvm はどこでも curl を使用します (インストール、Ruby のダウンロード、更新など)。さらに、gem など、さらに多くのものをダウンロードする必要があります。すべてのスクリプトですべての curl-call を置き換えることは維持できません。
提案された解決策
rvm の良いところは、すべてのデータが~/.rvm
ディレクトリに保存されることです。これを考慮して、開発用コンピューターと可能な限り類似した(同じ OS、同じ OS バージョン、同じライブラリ)リモート コンピューター (または VM) に rvm をインストールできます。必要なルビー、ジェムセット、ジェムをすべてインストールします。次に、圧縮された~/.rvm
ディレクトリを開発用コンピューターに移動し、解凍し~/.rvm
ます。
することを忘れないでください
echo "source $HOME/.rvm/scripts/rvm" >> ~/.bash_profile
bashのロード中にrvmをソースにします。
gem や ruby のバージョンを更新またはインストールする必要がある場合は、リモート コンピューターで作業を行い、~/.rvm
もう一度コピーしてください。
このセットアップでの私の経験
私はこのセットアップを(CIサーバーで自動化されていますが)、同様の邪悪な企業ネットワークにある実稼働環境で2年間使用しています。gem/rubies の変更は必要以上に困難ですが、インターネット接続がなくても機能します。
編集:このセットアップでの私の経験についての段落を追加しました
rvm インストール スクリプトはこちらにあります。あなたはできる
1.ダウンロード
このファイルを にダウンロードします/tmp/rvm-installer
。次に、 rvm.tar.gzファイルをダウンロードします。/tmp/rvm-1.19.6.tar.gz
2. ファイルを変更する
148 行目で function が開始されますfetch_version
。次の関数に置き換えます。
fetch_version()
{
echo '1.19.6' # the current version, as of writing this
}
161 行目 ( 内install_release
) でget_and_unpack
関数が呼び出されます。関数呼び出しを次のように置き換えます。
get_and_unpack \
/tmp/rvm-${_version}.tar.gz \
rvm-${_version}.tar.gz
212 行目 ( 内get_and_unpack
) で置き換えます
__rvm_curl ${_url} -o ${rvm_archives_path}/${_file} ||
と:
mv ${_url} ${rvm_archives_path}/${_file} ||
3.最後にrvmをインストールします
cd /tmp
cat rvm-installer | bash -s -- --version latest --autolibs=enabled
免責事項: これはまだハックです。rvm をインストールしますが、更新についてはわかりません (ここで rvm は再度 curl を使用します)。幸運を :)