programing

npm: 패키지에 대한 설치 후 스크립트 사용 안 함

goodcopy 2023. 5. 28. 22:31
반응형

npm: 패키지에 대한 설치 후 스크립트 사용 안 함

사용하지 않도록 설정할 npm 옵션이 있습니까?postinstall패키지를 설치하는 동안 스크립트?또는 필드를 다시 쓰는 경우package.json?

사용하지 않도록 설정할 수 없습니다.postinstall대본.그러나 다음을 사용하여 모든 스크립트를 사용하지 않도록 설정할 수 있습니다.

$ npm install --ignore-scripts

코멘트에 언급된 delbertoo처럼, 이것은 또한 종속성의 스크립트를 비활성화합니다.

npm 구성 파일의 설정을 활성화할 수도 있습니다.

npm config set ignore-scripts true

참고: 모든 NPM 패키지에 대해 스크립트를 사용할 수 없습니다.

프로젝트에 대해 설치 후 스크립트를 사용하지 않도록 설정했지만 실행할 때 프로젝트 종속성의 모든 스크립트가 실행되기를 원했습니다.npm install이것이 제가 결국 하게 된 일입니다.

  1. 스크립트 만들기./scripts/skip.js
if (process.env.SKIP_BUILD) {
    process.exit(0);
} else {
    process.exit(1);
}
  1. 당신의 소포 안에.json 파일
 "scripts": {
  ...
  "postinstall": "node ./scripts/skip.js || npm run build",
  ...
 }

이제 패키지가 빌드되지 않도록 환경 변수 SKIP_BUILD=1을 설정하면 종속성이 올바르게 빌드됩니다.

SKIP_BUILD=1 npm install

자신의 라이브러리에서 이 작업을 수행하려면 다음과 같은 간단한 작업을 수행하는 것이 좋습니다.

#!/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 > = 8을 사용하는 경우 다음을 제거할 수도 있습니다.postinstall임시 스크립트:

npm pkg set scripts.postinstall="echo no-postinstall"
npm install

또는 NPM 7을 사용하면 다음과 같이 됩니다.

npm set-script postinstall ""
npm install

출처: https://docs.npmjs.com/cli/v7/commands/npm-set-script/

정의.npmrc세트ignore-scripts=true.

언급URL : https://stackoverflow.com/questions/23505318/npm-disable-postinstall-script-for-package

반응형