LoginSignup
12
3

More than 3 years have passed since last update.

[Rust] cargo オフラインモードでビルドする

Last updated at Posted at 2019-12-01

この記事は Rustその3 Advent Calendar 2019 12/2 の記事です. カレンダーの枠が余っていたので下書きから放流します.

cargo --offline

外部クレートに依存するプロジェクトの初回ビルド時 (つまり Cargo.lock が存在しないとき), cargo は自動的にインターネットにアクセスし, 依存クレートの情報を集めてきます. しかしながら, 例えば飛行機や新幹線で移動中だったりしてインターネットに接続できない/接続が不安定という状況では, インターネットアクセスできずビルドが失敗することがあります. このような状況では --offline オプションを設定すれば問題が解決します.

cargo build --offline はインターネットアクセスをせず, ローカルにキャッシュされた情報だけでビルドを行います. 従って過去に依存したことのあるクレートだけに依存する新しいプロジェクトならばオフライン環境でも初回ビルドが可能になります. ただし次の点に留意する必要があります.

  • ローカルにキャッシュされていないクレート (またはその特定のバージョン) に依存しているとビルドに失敗します.
  • インターネット上に依存クレートの最新版が既に公開されていたとしても, ローカルキャッシュを持つ版を用いてビルドします. このため, オフラインモードが有効なときとそうでないときとでビルド結果が違うことがあります.

この機能は Rust 1.36 で安定化されました.

参考文献

12
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
3