Digamos que he bifurcado un módulo de nodo con una corrección de errores y quiero usar mi versión fija, en una rama de características, por supuesto, hasta que la corrección de errores se fusione y se libere.
¿Cómo haría referencia a mi versión fija en el dependencies
de mi package.json
?
user/project
. npmjs.org/doc/files/package.json.html Puede adjuntar la rama comouser/project#branch
git://github.com/<user>/<project>.git#feature/blah
funcionó pero<user>/<project>.git#feature/blah
no funcionó ... quizás su expresión regular necesita ser más avanzada para tenerfeature/blah
en cuenta. Esto fue npmv1.4.28
según el comentario de @ dantheta:
Entonces
O para la etiqueta v1.12.0 en jscs:
Tenga en cuenta que si usa npm --save, obtendrá el git más largo
Desde https://docs.npmjs.com/files/package.json#git-urls-as-dependencies
fuente
Si desea usar
devel
ofeature
ramificar, o no ha publicado un paquete determinado en el registro NPM, o no puede porque es un módulo privado, puede señalar ungit://
URI en lugar de un número de versión en supackage.json
:La
#ref
porción es opcional, y puede ser una rama (comomaster
), una etiqueta (como0.0.1
) o una identificación de confirmación parcial o completa.fuente
En la última versión de NPM puedes hacer:
npm install gitAuthor/gitRepo#tag
Si el repositorio es un paquete NPM válido, tendrá un alias automático en package.json como:
{ "NPMPackageName": "gitAuthor/gitRepo#tag" }
Si pudieras agregar esto a la respuesta de @justingordon, ¡no hay necesidad de alias manual ahora!
fuente
Si ayuda a alguien, probé todo lo anterior (https con modo token), y aún así nada funcionaba. No obtuve errores, pero no se instalaría nada en node_modules o package_lock.json. Si cambiara el token o cualquier letra en el nombre del repositorio o nombre de usuario, etc., obtendría un error. Entonces supe que tenía el token y el nombre de repositorio correctos.
Finalmente me di cuenta de que es porque el nombre de la dependencia que tenía en mi package.json no coincidía con el nombre del paquete.json del repositorio que estaba tratando de obtener. Incluso npm install --verbose no dice que haya ningún problema. Simplemente parece ignorar la dependencia sin error.
fuente