Aikido Safe Chainを使っていると公開後24時間以内のパッケージは使えない
floqリリース後、何故か最新バージョンがインストールされなくて悩んでいた。 調べていくうちにsafe-chainが問題であることに気づいた。
Safe Chainはデフォルトで公開後24時間以内のパッケージは利用しない。
README.mdのMinimum Package Ageの項目にも書いてあるが、デフォルトで24時間以内にリリースしたパッケージは利用しないようになっている。
このせいで検証しようとおもったfloqのパッケージが検証できなかった・・・。
この制約をどうやって回避すればいいのか?
回避方法はいくつかある
--safe-chain-skip-minimum-package-ageオプションを付けてnpm installする
npm installするときにSafe Chain側でも警告を出してくれるが最新をinstallしたい場合は --safe-chain-skip-minimum-package-age をつけることでインストールが可能になる。
例:
npm install -g floq --safe-chain-skip-minimum-package-age
- 環境変数で設定する
SAFE_CHAIN_NPM_MINIMUM_PACKAGE_AGE_EXCLUSIONS の環境変数を設定することで、回避することも可能。
export SAFE_CHAIN_NPM_MINIMUM_PACKAGE_AGE_EXCLUSIONS="floq"
- ~/.aikido/config.jsonでも設定が可能
もちろん設定ファイルでも可能
{
"npm": {
"minimumPackageAgeExclusions": ["@aikidosec/*"]
}
}
最後に
詳しいことはSafe ChainのREADMEを見ることをおすすめする。
https://github.com/AikidoSec/safe-chain