답변:
cd somedir
npm install .
또는
npm install path/to/somedir
somedir
package.json
내부 를 포함해야합니다 .
git에 대해서도 알고 있습니다.
npm install git://github.com/visionmedia/express.git
npm install
모든 파일이 프로젝트 디렉토리에 복사 된 후 따라서 require
명령문 의 경로는 프로젝트 디렉토리에만 상대적입니다.
install
하면 사용하려는 프로젝트가 아닌 단순히 설치하지 않습니까?
#<ref>
때 git url의 끝에 a 를 추가하여 분기 / 커밋 / 태그를 지정할 수 있습니다 ( 예 : git://github.com/visionmedia/express.git#v0.0.1
; (b) 안전하게 보관하려면 "private": true
개인 저장소의 package.json에 추가 하십시오. 이렇게하면 npm이 비밀 소스를 공식 npm 레지스트리에 실수로 게시하지 못하게합니다. ( debuggable.com/posts/… 에 따름 )
npm i git+http://all/the/things.git
비록 git clone http://all/the/things.git
작품 잘
당신에 개인 NPM 모듈 추가
"private": true
당신의 package.json에
그런 다음 다른 모듈에서 개인 모듈을 참조하려면 패키지에서 이것을 사용하십시오.
{
"name": "myapp",
"dependencies": {
"private-repo": "git+ssh://git@github.com:myaccount/myprivate.git#v1.0.0",
}
}
"private": true
부분은 필요하지 않지만 개인 저장소가 실수로 공개 npm 레지스트리에 게시되는 것을 방지하는 데 도움이됩니다.
로컬 파일 시스템에 있거나 심지어 git에서 NPM 패키지를 설치할 수 있습니까?
그래 넌 할수있어! 문서에서 https://docs.npmjs.com/cli/install
패키지는 다음과 같습니다
- a) package.json 파일에 의해 기술 된 프로그램을 포함하는 폴더
- b) (a)
- c) (b)로 해석되는 URL
- d)
<name>@<version>
(c)와 함께 레지스트리에 게시 된 a- e)
<name>@<tag>
(d)를 가리키는 a- f)
<name>
"최신"태그를 만족하는 a (e)- g)
<git remote url>
(b)로 해석되는 a
npm 훌륭하지 않습니까?
tar -czf my-package.tar.gz dist
있다고 가정하면 패키지를 만들면 다른 프로젝트에서 할 수 있습니다 . dist
package.json
npm install ../my-lib/my-package.tar.gz
2016 년 1 월 업데이트
다른 답변 외에도 팀 컨텍스트에서 개인 모듈을 사용하려는 시나리오가 있습니다.
Github 와 Bitbucket 은 모두 팀 API 키 생성 개념을 지원합니다 . 이 API 키는 이 팀으로 API 요청을 수행하기 위한 비밀번호 로 사용될 수 있습니다 .
당신에 개인 NPM 모듈 추가
"private": true
당신의 package.json에
그런 다음 다른 모듈에서 개인 모듈을 참조하려면 패키지에서 이것을 사용하십시오.
{
"name": "myapp",
"dependencies": {
"private-repo":
"git+https://myteamname:aQqtcplwFzlumj0mIDdRGCbsAq5d6Xg4@bitbucket.org/myprivate.git",
}
}
여기서 팀 이름 = myteamname 이고 API 키 = aQqtcplwFzlumj0mIDdRGCbsAq5d6Xg4
여기에서는 비트 버킷 저장소를 참조하지만 github을 사용하는 것도 거의 동일합니다.
마지막으로, 대안으로, 한 달에 $ 7를 지불하는 것을 정말로 신경 쓰지 않는다면 (지금 서면으로) 개인 NPM 모듈 을 즉시 사용할 수 있습니다.
FWIW : 개인 조직 저장소를 처리 할 때 이러한 모든 답변에 문제가있었습니다.
다음은 나를 위해 일했습니다.
npm install -S "git+https://username@github.com/orgname/repositoryname.git"
예를 들면 다음과 같습니다.
npm install -S "git+https://blesh@github.com/netflix/private-repository.git"
이 사례에서 다른 답변이 왜 효과가 없는지 잘 모르겠습니다. 왜냐하면 Google에 도달 하고이 답변을 찾기 전에 먼저 시도한 것이기 때문 입니다. 그리고 다른 답변은 내가 과거에 한 일입니다.
잘하면 이것은 다른 누군가를 돕습니다.
https://
하고 두 번째 실행에서 암호가 필요하지 않은지 확인하십시오. 그러면 좋습니다.)
나는이 같은 문제가 있었고 주변을 둘러 본 후 Reggie ( https://github.com/mbrevoort/node-reggie )를 발견했습니다 . 꽤 견고 해 보입니다. NPM 모듈을 개인 서버에 경량으로 게시 할 수 있습니다. 완벽하지는 않지만 (설치시 인증이 없음) 여전히 젊지 만 로컬에서 테스트했으며 수행해야 할 작업을 수행하는 것 같습니다.
그건 ... (그리고 이것들은 그들의 문서에서 나온 것입니다)
npm install -g reggie
reggie-server -d ~/.reggie
그런 다음 모듈 디렉토리로 cd하고 ...
reggie -u http://<host:port> publish
reggie -u http://127.0.0.1:8080 publish
마지막으로 URL을 직접 npm install 명령이나 package.json에서 사용하여 reggie에서 패키지를 설치할 수 있습니다.
npm install http://<host:port>/package/<name>/<version>
npm install http://<host:port>/package/foo/1.0.0
또는..
dependencies: {
"foo": "http://<host:port>/package/foo/1.0.0"
}
아래와 같이 접근하기 쉬운 방식으로 코드를 구성하십시오. 이것이 가능하다면.
NodeProjs \ Apps \ MainApp \ package.json
NodeProjs \ Modules \ DataModule \ package.json
MainApp 내에서 @ NodProjs \ Apps \ MainApp \
npm install --S ../../Modules/DataModule
package.json을 다음과 같이 업데이트해야 할 수도 있습니다.
"dependencies": {
"datamodule": "../../Modules/DataModule"
}
이것은 내 상황에서 효과적이었습니다.
Npm은 이제 사용자 당 월 $ 7에 무제한 개인 호스팅 모듈 을 제공합니다.
cd private-project
npm login
패키지 json 세트에 "name": " @username/private-project"
npm publish
그런 다음 프로젝트가 필요합니다.
cd ../new-project
npm install --save @username/private-project
arcseldon의 답변으로 시작 하여 팀 이름이 URL에 다음과 같이 필요하다는 것을 알았습니다.
npm install --save "git+https://myteamname@aQqtcplwFzlumj0mIDdRGCbsAq5d6Xg4@bitbucket.org/myteamname/myprivate.git"
API 키는 개별 사용자가 아닌 팀만 사용할 수 있습니다.
머신이 방화벽 아래에 있더라도 퍼블릭 Github 리포지토리에서 설치하도록 구성 :
dependencies: {
"foo": "https://github.com/package/foo/tarball/master"
}
이것은 내가 찾던 것입니다 .
# Get the latest from GitHub, public repo:
$ npm install username/my-new-project --save-dev
# Bitbucket, private repo:
$ npm install git+https://token:x-oauth-basic@github.com/username/my-new-project.git#master
$ npm install git+ssh://git@github.com/username/my-new-project.git#master
# … or from Bitbucket, public repo:
$ npm install git+ssh://git@bitbucket.org/username/my-new-project.git#master --save-dev
# Bitbucket, private repo:
$ npm install git+https://username:password@bitbucket.org/username/my-new-project.git#master
$ npm install git+ssh://git@bitbucket.org/username/my-new-project.git#master
# Or, if you published as npm package:
$ npm install my-new-project --save-dev
Node.js에 내장 된 경량 프라이빗 npm 프록시 레지스트리 인 Verdaccio 를이 목적으로 사용할 수 있습니다 . 또한 무료이며 오픈 소스입니다. Verdaccio를 사용하면 일반 개인 npm 레지스트리처럼 많은 번거 로움이 없습니다.
웹 사이트에서 설치 및 실행 방법에 대한 자세한 정보를 찾을 수 있지만 다음 단계가 있습니다.
필요합니다 node >=8.x
.
// Install it from npm globally
npm install -g verdaccio
// Simply run with the default configuration that will host the registry which you can reach at http://localhost:4873/
verdaccio
// Set the registry for your project and every package will be downloaded from your private registry
npm set registry http://localhost:4873/
// OR use the registry upon individual package install
npm install --registry http://localhost:4873
또한도 커가 있으므로 공개적으로 사용 가능한 도커에 쉽게 게시 할 수 있으며 구성하는 방식으로 다른 사람에게 배포 할 수있는 개인 npm 저장소가 있습니다!