답변:
로부터 NPM 워드 프로세서 :
git://github.com/<user>/<project>.git#<branch>
git://github.com/<user>/<project>.git#feature\/<branch>
NPM 버전 1.1.65부터 다음을 수행 할 수 있습니다.
<user>/<project>#<branch>
git://github.com/<user>/<project>.git#feature/blah
일을하지만 <user>/<project>.git#feature/blah
...하지 않았다 아마 정규 표현식을 요구 받아 더 진보 할 수 feature/blah
고려. 이것은 npm입니다v1.4.28
@dantheta의 의견에 따라 :
npm 1.1.65부터 Github URL은 더 간결한 사용자 / 프로젝트가 될 수 있습니다. npmjs.org/doc/files/package.json.html user / project # branch와 같이 브랜치를 연결할 수 있습니다
그래서
"babel-eslint": "babel/babel-eslint",
또는 jscs의 태그 v1.12.0의 경우 :
"jscs": "jscs-dev/node-jscs#v1.12.0",
npm --save를 사용하면 더 긴 자식을 얻을 수 있습니다.
에서 https://docs.npmjs.com/files/package.json#git-urls-as-dependencies
의존성으로 Git URL
힘내 URL은 다음과 같은 형식 일 수 있습니다.
git : //github.com/user/project.git#commit-ish git + ssh : // user @ hostname : project.git # commit-ish git + ssh : //user@hostname/project.git#commit- ish git + http : //user@hostname/project/blah.git#commit-ish git + https : //user@hostname/project/blah.git#commit-ish
commit-ish는 git checkout의 인수로 제공 할 수있는 모든 태그, sha 또는 분기 일 수 있습니다. 디폴트는 master입니다.
GitHub URL
버전 1.1.65부터는 GitHub URL을 "foo": "user / foo-project"로 나타낼 수 있습니다. 자식 URL과 마찬가지로 커밋-쉬미 접미사를 포함 할 수 있습니다. 예를 들면 다음과 같습니다.
{ "name": "foo",
"version": "0.0.0",
"dependencies": { "express": "visionmedia / express", "mocha": "visionmedia / mocha # 4727d357ea"}}
사용 devel
하거나 feature
분기하거나 NPM 레지스트리에 특정 패키지를 게시하지 않았거나 개인 모듈이기 때문에 패키지를 게시 할 수없는 경우 다음 git://
에서 버전 번호 대신 URI를 가리킬 수 있습니다 package.json
.
"dependencies": {
"public": "git://github.com/user/repo.git#ref",
"private": "git+ssh://git@github.com:user/repo.git#ref"
}
#ref
부분은 선택적이며 분지 될 수있다 (같은 master
) 태그 (같은 0.0.1
), 또는 일부 또는 전체 이드 커밋.
최신 버전의 NPM에서는 다음을 수행 할 수 있습니다.
npm install gitAuthor/gitRepo#tag
리포지토리가 유효한 NPM 패키지 인 경우 package.json에서 다음과 같이 자동 별칭이 지정됩니다.
{
"NPMPackageName": "gitAuthor/gitRepo#tag"
}
이것을 @justingordon의 답변에 추가 할 수 있다면 지금은 수동 앨리어싱이 필요하지 않습니다!
그것이 누군가를 돕는다면, 위의 모든 것을 시도했지만 (https w / token mode) 여전히 아무것도 작동하지 않았습니다. 오류가 없지만 node_modules 또는 package_lock.json에 아무것도 설치되지 않습니다. repo 이름이나 사용자 이름 등의 토큰이나 문자를 변경하면 오류가 발생합니다. 그래서 올바른 토큰과 리포 이름을 가지고 있다는 것을 알았습니다.
마침내 내 package.json에있는 종속성의 이름이 내가 가져 오려고하는 repo의 package.json의 이름과 일치하지 않기 때문에 그것이 깨달았습니다. npm install --verbose조차도 아무런 문제가 없다고 말합니다. 오류가없는 종속성을 무시하는 것 같습니다.
user/project
. npmjs.org/doc/files/package.json.html 다음 과 같이 분기를 첨부 할 수 있습니다user/project#branch