web-dev-qa-db-fra.com

Vous comptez sur une branche ou une balise utilisant une URL git dans un package.json?

Supposons que j'ai créé un correctif dans un module de nœud et que je souhaite utiliser ma version corrigée, bien sûr, jusqu'à ce que le correctif soit fusionné et publié.

Comment pourrais-je référencer ma version corrigée dans la dependencies de mon package.json?

368
hurrymaplelad

Depuis le npm docs :

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

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

À partir de la version 1.1.65 de NPM, vous pouvez le faire:

<user>/<project>#<branch>
525
hurrymaplelad

le commentaire de @ dantheta:

À partir de npm 1.1.65, l'URL Github peut être un utilisateur/projet plus concis. npmjs.org/doc/files/package.json.html Vous pouvez attacher la branche comme une branche utilisateur/projet #

Alors

"babel-eslint": "babel/babel-eslint",

Ou pour le tag v1.12.0 sur jscs:

"jscs": "jscs-dev/node-jscs#v1.12.0",

Notez que si vous utilisez npm --save, vous obtiendrez le plus long git

De https://docs.npmjs.com/files/package.json#git-urls-as-dependencies

URL Git en tant que dépendances

Les urls Git peuvent être de la forme:

git: //github.com/user/project.git#commit-ish git + ssh: // utilisateur @ nomhôte: projet.git # commit-ish git + ssh: //utilisateur@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 peut être n’importe quelle balise, sha ou branche pouvant être fournie en tant qu’argument pour git checkout. Le défaut est maître.

URL GitHub

Depuis la version 1.1.65, vous pouvez faire référence aux URL de GitHub simplement "foo": "user/foo-project". Tout comme pour les URL git, un suffixe de validation peut être inclus. Par exemple:

{"nom": "foo",
"version": "0.0.0",
"dépendances": {"express": "visionmedia/express", "mocha": "visionmedia/mocha # 4727d357ea"}}

130
justingordon

Si vous souhaitez utiliser la branche devel ou feature, ou si vous n'avez pas publié un certain paquet dans le registre NPM, ou vous ne pouvez pas, car il s'agit d'un module privé, vous pouvez pointer sur un git:// URI au lieu d'un numéro de version dans votre package.json:

"dependencies": {
   "public": "git://github.com/user/repo.git#ref",
   "private": "git+ssh://[email protected]:user/repo.git#ref"
}

La partie #ref est facultative et peut être une branche (comme master), une balise (comme 0.0.1) ou un identifiant de validation partielle ou complète.

39
Fizer Khan

Sur la dernière version de NPM, vous pouvez simplement faire:

npm install gitAuthor/gitRepo#tag

Si le référentiel est un package NPM valide, il sera automatiquement associé à package.json, comme suit:

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

Si vous pouviez ajouter ceci à la réponse de @justingordon, il n'est pas nécessaire de créer un alias manuel maintenant!

25
vortex