¿Cómo instalar un módulo NPM privado sin mi propio registro?
Tomé un código compartido y lo puse en un módulo NPM, uno que no quiero cargar en el registro central. La pregunta es ¿cómo lo instalo desde otros proyectos?
La forma obvia probablemente sea configurar mi propio registro NPM, pero según la documentación, eso implica muchas molestias.
¿Puedo simplemente instalar un módulo NPM que se encuentre en el sistema de archivos local, o quizás incluso desde git?
npm install --from-git git@server:project
En sus módulos privados de npm agregue
"private": true
a tu paquete.json
Luego, para hacer referencia al módulo privado en otro módulo, use esto en su paquete.json
{
"name": "myapp",
"dependencies": {
"private-repo": "git+ssh://[email protected]:myaccount/myprivate.git#v1.0.0",
}
}
cd somedir
npm install .
o
npm install path/to/somedir
somedir
debe contener el package.json
interior del mismo.
También sabe sobre git:
npm install git://github.com/visionmedia/express.git
¿Puedo simplemente instalar un paquete NPM que se encuentre en el sistema de archivos local, o quizás incluso desde git?
¡Sí tu puedes! De los documentos https://docs.npmjs.com/cli/install
Un paquete es:
- a) una carpeta que contiene un programa descrito por un archivo package.json
- b) un tarball comprimido que contiene (a)
- c) una URL que resuelva en (b)
- d) a
<name>@<version>
que se publique en el registro con (c)- e) a
<name>@<tag>
que apunta a (d)- f) uno
<name>
que tiene una etiqueta "más reciente" que satisface (e)- g) a
<git remote url>
que resuelve (b)
¿No es brillante npm?
Actualización enero 2016
Además de otras respuestas , a veces existe el escenario en el que desea tener módulos privados disponibles en un contexto de equipo.
Tanto Github como Bitbucket admiten el concepto de generar una clave API de equipo . Esta clave API se puede utilizar como contraseña para realizar solicitudes de API como este equipo.
En sus módulos privados de npm agregue
"private": true
a tu paquete.json
Luego, para hacer referencia al módulo privado en otro módulo, use esto en su paquete.json
{
"name": "myapp",
"dependencies": {
"private-repo":
"git+https://myteamname:[email protected]/myprivate.git",
}
}
donde nombre del equipo = myteamname y clave API = aQqtcplwFzlumj0mIDdRGCbsAq5d6Xg4
Aquí hago referencia a un repositorio de bitbucket, pero también es casi idéntico usando github.
Finalmente, como alternativa, si realmente no le importa pagar $7 por mes (al momento de escribir este artículo), ahora puede tener módulos NPM privados listos para usar.