回答:
postinstall
スクリプトのみを無効にすることはできません。ただし、以下を使用してすべてのスクリプトを無効にすることができます。
$ npm install --ignore-scripts
delbertoooがコメントで言及したように、これは依存関係のスクリプトも無効にします。
--ignore-scripts
は、依存関係からであっても、すべてのスクリプトを無効にします。依存関係がスクリプトを実行する必要がある場合、たとえばいくつかのバイナリをインストールする場合、依存関係が壊れる/不完全になる可能性があります。
--ignore-scripts
、または関連する構成オプション(私がグローバルに設定)npm run start
は、何も通知せずに何もせずに成功を報告することも意味します。驚いた。
npm構成ファイルの設定を有効にすることもできます。
npm config set ignore-scripts true
注:これにより、すべてのNPMパッケージのスクリプトが無効になります。
あなた自身のライブラリのためにこれを行うには、次のような簡単なものをお勧めします:
#!/usr/bin/env bash
## this is your postinstall.sh script:
set -e;
if [ "$your_pkg_skip_postinstall" == "yes" ]; then
echo "skipping your package's postinstall routine.";
exit 0;
fi
次に、npmを次のようにインストールします。
your_pkg_skip_postinstall="yes" npm install
プロジェクトのポストインストールスクリプトを無効にしたかったのですが、実行時にプロジェクトの依存関係のすべてのスクリプトを実行したいと思いましたnpm install
。これは私がやったことです。
./scripts/skip.js
if (process.env.SKIP_BUILD) {
process.exit(0);
} else {
process.exit(1);
}
"scripts": {
...
"postinstall": "node ./scripts/skip.js || npm run build",
...
}
ここで、環境変数SKIP_BUILD = 1を設定して、パッケージがビルドされないようにし、依存関係が正しくビルドされるようにします
SKIP_BUILD=1 npm install