패키지를 설치하는 동안 사후 설치 스크립트를 비활성화하는 npm 옵션이 있습니까? 또는 package.json에서 필드를 다시 쓰려면?
답변
postinstall
스크립트 만 비활성화 할 수는 없습니다 . 그러나 다음을 사용하여 모든 스크립트를 비활성화 할 수 있습니다.
$ npm install --ignore-scripts
delbertooo가 주석에서 언급했듯이 종속성의 스크립트도 비활성화합니다.
답변
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);
}
- package.json 파일에서
"scripts": {
...
"postinstall": "node ./scripts/skip.js || npm run build",
...
}
이제 환경 변수 SKIP_BUILD = 1을 설정하면 패키지가 빌드되지 않고 종속성이 올바르게 빌드됩니다.
SKIP_BUILD=1 npm install