🙆‍♀️

セキュリティ装置がいる環境で開発ツールが壊れる問題集(Node / Rust)

に公開

Claude Code(Node)

Claude Code が以下のエラーで起動できなかったので対応

> このレポジトリがなにか教えて
  ⎿  API Error (Connection error.) · Retrying in 1 seconds… (attempt 1/10)
    ⎿  TypeError (fetch failed)
  ⎿  API Error (Connection error.) · Retrying in 1 seconds… (attempt 2/10)
    ⎿  TypeError (fetch failed)
  ⎿  API Error (Connection error.) · Retrying in 2 seconds… (attempt 3/10)
    ⎿  TypeError (fetch failed)
  ⎿  API Error (Connection error.) · Retrying in 4 seconds… (attempt 4/10)
    ⎿  TypeError (fetch failed)
  ⎿  API Error (Connection error.) · Retrying in 8 seconds… (attempt 5/10)
    ⎿  TypeError (fetch failed)
  ⎿  API Error (Connection error.) · Retrying in 17 seconds… (attempt 6/10)
    ⎿  TypeError (fetch failed)

この記事を参考にした。
Node.jsで、自己署名証明書を設定する方法

証明書は/usr/local/share/ca-certificates/self-company-ca.pemに配置済みなので以下のようにする。

  1. vi ~/.bashrc.bashrcを開く。
  2. 末尾に、export NODE_EXTRA_CA_CERTS=/usr/local/share/ca-certificates/self-company-ca.pemを追加
  3. source ~/.bashrcで反映させる。

rust

windows上の話。
cargo buildが以下のエラーで通らない。

cargo build
    Blocking waiting for file lock on package cache
    Updating crates.io index
warning: spurious network error (3 tries remaining): [35] SSL connect error (schannel: next InitializeSecurityContext failed: CRYPT_E_NO_REVOCATION_CHECK (0x80092012))
warning: spurious network error (2 tries remaining): [35] SSL connect error (schannel: next InitializeSecurityContext failed: CRYPT_E_NO_REVOCATION_CHECK (0x80092012))
warning: spurious network error (1 tries remaining): [35] SSL connect error (schannel: next InitializeSecurityContext failed: CRYPT_E_NO_REVOCATION_CHECK (0x80092012))
error: failed to get `aes` as a dependency of package `hello-rs v0.1.0 (E:\develop\hello-rs)`

Caused by:
  download of config.json failed

Caused by:
  failed to download from `https://index.crates.io/config.json`

Caused by:
  [35] SSL connect error (schannel: next InitializeSecurityContext failed: CRYPT_E_NO_REVOCATION_CHECK (0x80092012))

この記事を参考にした。
Rustのクレートが職場のセキュリティのせいでダウンロードができない人はこれを見ろ!!

  1. %USERPROFILE%\.cargo\config.tomlを開く。なければ作成する。
  2. 以下を追加
    [http]
    check-revoke = false     
    

Discussion