Ger*_*osi 235
不能仅禁用postinstall脚本.但是,您可以使用以下命令禁用所有脚本
$ npm install --ignore-scripts
Run Code Online (Sandbox Code Playgroud)
正如delbertooo在评论中提到的,这也会禁用依赖项的脚本.
Vah*_*hid 14
如果您使用的 NPM >= 8,您还可以postinstall暂时删除该脚本:
npm pkg set scripts.postinstall="echo no-postinstall"
npm install
Run Code Online (Sandbox Code Playgroud)
或者使用 NPM 7,如下所示:
npm set-script postinstall ""
npm install
Run Code Online (Sandbox Code Playgroud)
来源: https://docs.npmjs.com/cli/v7/commands/npm-set-script/
Atu*_*tul 13
我想为我的项目禁用安装后脚本,但希望我的项目依赖项的所有脚本在我执行npm install. 这就是我最终要做的。
./scripts/skip.js if (process.env.SKIP_BUILD) {
process.exit(0);
} else {
process.exit(1);
}
Run Code Online (Sandbox Code Playgroud)
"scripts": {
...
"postinstall": "node ./scripts/skip.js || npm run build",
...
}
Run Code Online (Sandbox Code Playgroud)
现在只需设置环境变量 SKIP_BUILD=1 以防止您的包构建,您的依赖项将构建得很好
SKIP_BUILD=1 npm install
Run Code Online (Sandbox Code Playgroud)
Ale*_*lls 11
要为您自己的库执行此操作,我推荐一些简单的方法,例如:
#!/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
Run Code Online (Sandbox Code Playgroud)
然后使用以下命令进行 npm 安装:
your_pkg_skip_postinstall="yes" npm install
Run Code Online (Sandbox Code Playgroud)
您还可以在npm配置文件中启用设置。
npm config set ignore-scripts true
注意:这将禁用所有NPM软件包的脚本。
| 归档时间: |
|
| 查看次数: |
33115 次 |
| 最近记录: |