다운로드 한 모듈 저장소가 있는데 다른 디렉토리가 아닌 로컬로 설치하려고합니까?
이 작업을 수행하는 쉬운 방법은 무엇입니까?
답변
로부터 NPM-링크 문서 :
로컬 모듈 디렉토리에서 :
$ cd ./package-dir
$ npm link
프로젝트 디렉토리에서 모듈을 사용하십시오.
$ cd ./project-dir
$ npm link package-name
또는 한 번에 상대 경로를 사용하십시오.
$ cd ./project-dir
$ npm link ../package-dir
이것은 후드에서 위의 두 명령을 사용하는 것과 같습니다.
답변
<folder>
인수 하나만 제공하면 npm install
인수는 패키지 이름 대신 로컬 폴더를 가리켜 야합니다.
npm install /path
답변
같은 사람이 묻고 대답했기 때문에 npm 링크를 추가하겠습니다. 대안으로 를 .
문서에서 :
이것은 자신의 물건을 설치하는 데 편리하므로 지속적으로 다시 빌드하지 않고도 작업하고 반복적으로 테스트 할 수 있습니다.
cd ~/projects/node-bloggy # go into the dir of your main project
npm link ../node-redis # link the dir of your dependency
[편집] NPM 2.0부터 package.json에서 로컬 종속성을 선언 할 수 있습니다.
"dependencies": {
"bar": "file:../foo/bar"
}
답변
npm pack
+ package.json
이것이 나를 위해 일한 것입니다.
1 단계 :에서 다음 module project
을 실행하십시오 npm pack
.
<package-name>-<version>.tar.gz
파일 이 생성 됩니다.
2 단계 : 파일을 consumer project
이상적으로는 모든 파일을 루트 의 tmp
폴더에 넣을 수 있습니다 consumer-project
.
3 단계 : 참조하십시오 package.json
:
"dependencies": {
"my-package": "file:/./tmp/my-package-1.3.3.tar.gz"
}
4 단계 : Install
패키지 :
npm install
또는 npm i
또는yarn
패키지는 consumer-project's node_modules
폴더 에 있어야 합니다.
행운을 빕니다…
답변
로컬 모듈에 프로젝트 범위에만 설치하려는 피어 종속성이있는 경우 이러한 접근 방식 ( npm link
또는 package.json
파일 종속성)이 작동 하지 않습니다 .
예를 들면 다음과 같습니다.
/local/mymodule/package.json:
"name": "mymodule",
"peerDependencies":
{
"foo": "^2.5"
}
/dev/myproject/package.json:
"dependencies":
{
"mymodule": "file:/local/mymodule",
"foo": "^2.5"
}
이 시나리오에서는 NPM 세트 업 myproject
의 node_modules/
다음과 같이 :
/dev/myproject/node_modules/
foo/
mymodule -> /local/mymodule
노드가로드 mymodule
되고 수행 될 때 노드 require('foo')
는 mymodule
심볼릭 링크를 확인한 다음 찾을 수없는 /local/mymodule/node_modules/
(및 해당 상위 항목) 만 찾습니다 foo
. 대신 노드를 살펴보고 /local/myproject/node_modules/
싶습니다. 프로젝트가 실행되는 위치 foo
와 설치되어 있기 때문입니다 .
그래서,에 우리는 두 노드를 알 수있는 방법이 필요 없는 이 심볼릭 링크를 해결할를 찾을 때 foo
, 또는 우리가 설치하는 NPM을 알 수있는 방법이 필요 복사본 의 mymodule
파일 종속성 구문에서 사용되는 경우를 package.json
. 불행히도, 할 수있는 방법을 찾지 못했습니다 🙁
답변
주요 재산이 없습니까?
이전 사람들이 대답했듯이 npm --save ../location-of-your-packages-root-directory
. 는 ../location-of-your-packages-root-directory
그러나 그것이 작동하기 위해서는 두 가지가 있어야합니다.
1) package.json
해당 디렉토리에서
2) main
이 재산 package.json
설정해야 작업 IG "main": "src/index.js",
경우에 대한 항목 파일 ../location-of-your-packages-root-directory
IS../location-of-your-packages-root-directory/src/index.js