여러 종속성이 있는 npm 패키지를 수정하려고 합니다. 그래서 npm install -g .
실행하는 데 오랜 시간이 걸립니다. packages.json에서 종속성을 제거하는 것 외에 다른 옵션이 있나요?
답변1
--옵션 없음이제 이 문서에 따라 옵션을 구현하십시오.https://docs.npmjs.com/cli/install:
The --no-optional argument will prevent optional dependencies from being installed.
답변2
자신만의 를 개발하는 경우 node_module
s에 시간을 낭비하지 말고 npm install
를 사용하십시오 npm link
.
즉, npm이 소유한 전역 폴더에 모듈 폴더를 가리키는 심볼릭 링크를 만든 다음 애플리케이션 폴더에서 npm에게 해당 심볼릭 링크 폴더를 사용하도록 요청합니다.
이를 통해 모듈 폴더에서 변경한 사항이 애플리케이션에 즉시 반영될 수 있습니다.
주요 단계는 다음과 같습니다(아래 링크된 튜토리얼에서 복사했습니다. 중요한 문제를 이해하려면 튜토리얼을 읽어보세요).
- CD를
src/my_module
- 달리기"
npm link
". 이렇게 하면 전역 폴더에서 이 폴더로의 심볼릭 링크가 생성됩니다src/my_module
. - CD를
src/my_app
- 달리기
npm link my_module
. 이는node_modules/my_module
이 특정 프로젝트의 전역 폴더에 대한 링크이므로require
조회 호출은my_module
개발 폴더에서 종료됩니다src/my_module
.
이 튜토리얼을 참조하세요:http://justjs.com/posts/npm-link-developing-your-own-npm-modules-without-tears
공식 문서는 다음과 같습니다 npm link
.https://docs.npmjs.com/cli/link
답변3
이 기능은 2010년에 요청되었으나 안타깝게도 무시되어 종료되었습니다.https://github.com/npm/npm/issues/340
저는 많은 옵션을 시도했고 마침내 매우 간단한 해결책을 찾았습니다. npm 설치를 수행하기 전에 package.json의 이름을 다른 이름으로 바꾸고 설치가 완료된 후 이를 복원합니다.
mv package.json package.bak
npm install <package_name> --no-save
mv package.bak package.json
답변4
뒤집다문서스위치 외에는 대안이 없는 것 같습니다 --no-optional
.
테스트되지 않음/확인되지 않음
이 질문과 답변은 다음과 같습니다.npm install
이미 설치되었거나 캐시에서 사용 가능한 경우에도 네트워크를 통해 내 프로젝트의 모든 종속 항목을 설치합니다.스위치 가 있는 것 같습니다 --skip-installed
. 그러나 문서에는 이 스위치가 언급되어 있지 않습니다.