NPM으로 패키지를 설치할 때 종속성 중 하나의 다른 버전을 사용하도록 지정할 수 있습니까?
lib-a
종속성이 있는 라이브러리를 설치 dep-1
하고 dep-2
. 이전 lib-a
버전을 사용하도록 package.json에서 선언 한 경우 dep-2
(방금 나온 0.8.0 노드에서 작동하지 않는다고 가정 해 보겠습니다), dep-2
노드 0.8.0에서 작동 하는 분기가 있습니다. 지점 이름 node0.8.0
.
따라서 방정식의 패키지는 다음과 같습니다.
git://github.com/user-a/lib-a
git://github.com/user-b/dep-1
git://github.com/user-c/dep-2
git://github.com/user-c/dep-2#node0.8.0
NPM에 설치하도록 지시하는 방법이 lib-a
있지만 dep-2#node0.8.0
대신 사용 dep-2
합니까?
NPM을 사용하면 다음과 같은 프로젝트의 특정 분기를 설치할 수 있습니다.
npm install git://github.com/user-c/dep-2#node0.8.0
의 package.json을 사용자 정의 lib-a
하려면 다음 dep-2#node0.8.0
과 같이 사용하도록 지정할 수 있습니다 .
{
"name": "lib-a",
"dependencies": {
"dep-1": ">= 1.5.0",
"dep-2": "git://github.com/user-c/dep-2#node0.8.0"
}
}
package.json을 수정하면 다음을 실행할 수 있습니다.
npm install lib-a
노드 0.8.0 호환 dep-2
브랜치를 설치합니다 . 그러나이를 위해서는 수정에 대한 액세스 권한이 있어야하며 lib-a
, 특정 경우에는 그렇지 않습니다. 기술적으로 lib-a
는 위의 변경 사항을 package.json으로 포크 하고 변경할 수 있습니다. 그러나 내 특정 경우 lib-a
에는 다른 라이브러리 의 종속성 이므로 참조되는 프로젝트를 계속해서 포크해야합니다.
그래서 질문은 NPM에게을 설치 lib-a
하고 node0.8.0
분기 를 사용하도록 지시하는 방법 이 dep-2
있습니까? 이 같은:
npm install lib-a --overrides dep-2:git://github.com/user-c/dep-2#node0.8.0
그것은 굉장 할 것입니다. 가능하지 않다면 프로젝트 체인을 포크 / 사용자 정의 할 준비를 할 수 있도록 알아두면 좋을 것입니다.
NPM 설치 구문 :
npm install (with no args in a package dir)
npm install <tarball file>
npm install <tarball url>
npm install <folder>
npm install [@<scope>/]<name> [--save|--save-dev|--save-optional] [--save-exact]
npm install [@<scope>/]<name>@<tag>
npm install [@<scope>/]<name>@<version>
npm install [@<scope>/]<name>@<version range>
npm i (with any of the previous argument usage)
따라서 이러한 방법 중 하나를 선택하여 모듈을 설치할 수 있습니다.
특정 버전을 설치하는 가장 간단한 방법은 다음과 같습니다.
npm install module@0.0.2
더 많은 정보 : https://docs.npmjs.com/cli/install
'Development Tip' 카테고리의 다른 글
Pure-Ruby 동시 해시 (0) | 2020.12.05 |
---|---|
부분보기에 JavaScript를 넣어도 괜찮습니까? (0) | 2020.12.05 |
JavaScript : DOM로드 이벤트, 실행 순서 및 $ (document) .ready () (0) | 2020.12.05 |
CSS 전환과 JS 애니메이션 패키지의 성능 (0) | 2020.12.05 |
createElement 대 createElementNS (0) | 2020.12.05 |