Programming

package.json에서 git URL을 사용하는 분기 또는 태그에 의존합니까?

procodes 2020. 2. 26. 22:49
반응형

package.json에서 git URL을 사용하는 분기 또는 태그에 의존합니까?


버그 수정이있는 노드 모듈을 포크하고 버그 수정이 병합 및 릴리스 될 때까지 기능 분기에서 고정 버전을 사용하고 싶다고 가정 해 보겠습니다.

어떻게 내 고정 된 버전을 참조하는 것이 dependencies내의 package.json?


로부터 NPM 워드 프로세서 :

git://github.com/<user>/<project>.git#<branch>

git://github.com/<user>/<project>.git#feature\/<branch>

NPM 버전 1.1.65부터 다음을 수행 할 수 있습니다.

<user>/<project>#<branch>

@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:) 또는 부분 또는 전체 커밋 ID 일 수 있습니다.


최신 버전의 NPM에서는 다음을 수행 할 수 있습니다.

npm install gitAuthor/gitRepo#tag

리포지토리가 유효한 NPM 패키지 인 경우 package.json에서 다음과 같이 자동 별칭이 지정됩니다.

{ "NPMPackageName": "gitAuthor/gitRepo#tag" }

이것을 @justingordon의 답변에 추가 할 수 있다면 지금은 수동 앨리어싱이 필요하지 않습니다!

참고 URL : https://stackoverflow.com/questions/16350673/depend-on-a-branch-or-tag-using-a-git-url-in-a-package-json



반응형