그래서, 이런 일을하고 싶지 npm install
도 설치 package.json
의 ../somelocallib
종속성 또는 더 중요한 것은.
"dependencies": {
"express": "*",
"../somelocallib": "*"
}
답변
npm> = 2.0.0
이 기능은 npm 버전 2.0.0에서 구현 되었습니다. 예:
{
"name": "baz",
"dependencies": {
"bar": "file:../foo/bar"
}
}
다음 경로 중 하나도 유효합니다.
../foo/bar
~/foo/bar
./foo/bar
/foo/bar
로컬 패키지는 접두사 ( ) 로 복사 됩니다 ../node-modules
npm <2.0.0
평소 somelocallib
와 같이 의존성을 두십시오 package.json
.
"dependencies": {
"somelocallib": "0.0.x"
}
그런 다음 run npm link ../somelocallib
및 npm은 작업중인 버전을 symlink로 설치합니다 .
app@0.0.1 /private/tmp/app
└── somelocallib@0.0.1 -> /private/tmp/somelocallib
참조 : link (1)
답변
이제 로컬 노드 모듈 설치 경로를 package.json
직접 지정할 수 있습니다. 문서에서 :
지역 경로
버전 2.0.0부터는 패키지가 포함 된 로컬 디렉토리에 대한 경로를 제공 할 수 있습니다. 지역 경로를 사용하여 저장할 수 있습니다
npm install -S
또는npm install --save
, 이러한 양식 중 하나를 사용하여 :../foo/bar ~/foo/bar ./foo/bar /foo/bar
이 경우 상대 경로로 정규화되어에 추가됩니다
package.json
. 예를 들면 다음과 같습니다.{ "name": "baz", "dependencies": { "bar": "file:../foo/bar" } }
이 기능은 로컬 오프라인 개발 및 외부 서버에 충돌하지 않고 npm 설치가 필요한 테스트를 작성하는 데 유용하지만 공용 레지스트리에 패키지를 공개 할 때는 사용하지 않아야합니다.
답변
이것은 나를 위해 작동합니다.
package.json 파일에 다음을 배치하십시오.
"scripts": {
"preinstall": "npm install ../my-own-module/"
}
답변
모듈을 버전 제어로 확인하고 npm 링크를 기억하는 개발자에게 의존하지 않기 때문에 이것을 더 자동화하려면 이것을 package.json “scripts”섹션에 추가하면됩니다.
"scripts": {
"postinstall": "npm link ../somelocallib",
"postupdate": "npm link ../somelocallib"
}
이것은 해키를 넘어선 느낌이지만 “작동”하는 것 같습니다. 이 npm 문제에서 팁을 얻었습니다 :
https://github.com/npm/npm/issues/1558#issuecomment-12444454
답변
다음은 로컬 종속성을 추가하는 방법입니다.
npm install file:src/assets/js/FILE_NAME
NPM에서 package.json에 추가하십시오.
npm install --save file:src/assets/js/FILE_NAME
package.json에 다음과 같이 직접 추가하십시오.
....
"angular2-autosize": "1.0.1",
"angular2-text-mask": "8.0.2",
"animate.css": "3.5.2",
"LIBRARY_NAME": "file:src/assets/js/FILE_NAME"
....
답변
마스터 프로젝트
마스터 프로젝트에 사용할 package.json은 다음과 같습니다.
"dependencies": {
"express": "*",
"somelocallib": "file:./somelocallib"
}
,이 ./somelocallib
라이브러리 폴더에 대한 참조입니다 마스터 프로젝트 package.json에 상대적으로가 .
참조 : https://docs.npmjs.com/files/package.json#local-paths
하위 프로젝트
라이브러리 종속성을 처리하십시오.
달리는 것 외에도 npm install
해야합니다 (cd node_modules/somelocallib && npm install)
.
이것은 NPM의 알려진 버그입니다.
참조 : https://github.com/npm/npm/issues/1341 (보다 최신 참조 참조)
도커에 대한 참고 사항
마스터 package.lock
와somelocallib/package.lock
소스 코드 관리자에 .
그런 다음 Dockerfile에서 다음을 사용하십시오.
FROM node:10
WORKDIR /app
# ...
COPY ./package.json ./package-lock.json ./
COPY somelocallib somelocallib
RUN npm ci
RUN (cd node_modules/zkp-utils/ && npm ci)
# ...
나는 (cd A && B)
구조 에서 괄호 를 사용하여 조작을 dem 등원으로 만듭니다.
답변
나는 그것이 npm install ../somelocallib
작동 한다는 것을 안다 .
그러나 질문에 표시되는 구문이 작동하는지 여부는 알 수 없습니다 package.json
…
불행히도 doc 은 URL을 종속성으로 만 언급하는 것 같습니다.
시도 file:///.../...tar.gz
압축 지역 lib 디렉토리를 가리키는 … 그리고 작동하는지 알려주십시오.