Disons que j'ai bifurqué un module de noeud avec un bugfix et je veux utiliser ma version fixe, sur une branche de fonctionnalité bien sûr, jusqu'à ce que le bugfix soit fusionné et publié.
Comment puis-je faire référence à ma version fixe dans la dependencies
ma package.json
?
user/project
. npmjs.org/doc/files/package.json.html Vous pouvez attacher la branche commeuser/project#branch
git://github.com/<user>/<project>.git#feature/blah
a fonctionné mais<user>/<project>.git#feature/blah
n'a pas fonctionné ... peut-être que leur expression régulière doit être plus avancée pour être prisefeature/blah
en compte. C'était npmv1.4.28
selon le commentaire de @ dantheta:
Donc
Ou pour la balise v1.12.0 sur jscs:
Notez que si vous utilisez npm --save, vous obtiendrez le git plus long
De https://docs.npmjs.com/files/package.json#git-urls-as-dependencies
la source
Si vous souhaitez utiliser
devel
oufeature
créer une branche, ou si vous n'avez pas publié un certain package dans le registre NPM, ou si vous ne le pouvez pas, car il s'agit d'un module privé, vous pouvez pointer vers ungit://
URI au lieu d'un numéro de version dans votrepackage.json
:La
#ref
partie est facultative et peut être une branche (commemaster
), une balise (comme0.0.1
) ou un ID de validation partiel ou complet.la source
Sur la dernière version de NPM, vous pouvez simplement faire:
npm install gitAuthor/gitRepo#tag
Si le dépôt est un package NPM valide, il sera aliasé automatiquement dans 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!
la source
Si cela aide quelqu'un, j'ai tout essayé ci-dessus (https avec mode token) - et toujours rien ne fonctionnait. Je n'ai eu aucune erreur, mais rien ne serait installé dans node_modules ou package_lock.json. Si je modifiais le jeton ou une lettre du nom du référentiel ou du nom d'utilisateur, etc. - j'obtiendrais une erreur. Je savais donc que j'avais le bon token et le bon nom du repo.
J'ai finalement réalisé que c'était parce que le nom de la dépendance que j'avais dans mon package.json ne correspondait pas au nom dans le package.json du dépôt que j'essayais de tirer. Même l'installation de npm --verbose ne dit pas qu'il y a un problème. Il semble simplement ignorer la dépendance sans erreur.
la source