¿Cómo instalar un módulo NPM privado sin mi propio registro?

Resuelto futlib asked hace 12 años • 16 respuestas

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
futlib avatar Apr 30 '12 22:04 futlib
Aceptado

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",
    }
}
250R avatar Apr 30 '2012 23:04 250R
cd somedir
npm install .

o

npm install path/to/somedir

somedirdebe contener el package.jsoninterior del mismo.

También sabe sobre git:

npm install git://github.com/visionmedia/express.git
mihai avatar Apr 30 '2012 18:04 mihai

¿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?

Colonel Panic avatar May 03 '2012 09:05 Colonel Panic

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.

arcseldon avatar Jan 06 '2016 11:01 arcseldon