RubyGems のオフラインインストールには依存関係一式が必要
ローカルの gem アーカイブが 1 つあることと、プロキシの背後でオフラインインストールに必要なすべてが揃っていることを区別します。
ブラウザーでダウンロードした .gem は、インストールを自己完結させなくても元のプロキシの問題を回避できます。アーカイブをターゲットに移す前に、次を用意してください。
- 不足している宣言済み依存関係それぞれの適切なバージョン。
- ターゲットの Ruby、RubyGems、プラットフォームに適合するアーカイブ。
- ネイティブ拡張に必要なコンパイラー、ヘッダー、システムライブラリ。
RubyGems にローカルインストールを明示的に依頼します。
gem install ./example-1.2.3.gem --local
例のファイル名を置き換えてください。依存関係のチェックを無効にするのではなく、承認されたアーティファクトの手順で不足している素材を解決します。別のマシンで作ったプラットフォームビルドは、名前とバージョンが一致するだけでは動かないことがあります。
ローカルモードは RubyGems の取得動作に関係します。拡張のビルドスクリプトは別の処理を行うことがあるため、任意のインストールコードに対するサンドボックスではありません。拡張の失敗は、アーカイブがすでに届いた後にビルドの前提条件が欠けていることを示す場合があります。その段階はプロキシの拒否とは別に報告してください。
繰り返しのデプロイでは、プロジェクトの通常のパッケージングワークフローで依存関係一式を維持してください。そうしないと、依存関係のバージョンやアーキテクチャの変化により、次回の場当たり的なブラウザーダウンロードが別のインストールになる可能性があります。