node.js github dependencies npm package.json

node.js - npm instala repositorios privados de Github por dependencia en package.json



dependencies (8)

Como Git usa curl debajo del capó, puede usar el archivo ~/.netrc con las credenciales. Para GitHub se vería algo como esto:

machine github.com login <github username> password <password OR github access token>

Si elige usar access tokens , se puede generar desde:

Configuración -> Configuración del desarrollador -> Tokens de acceso personal

Esto también debería funcionar si está utilizando Github Enterprise en su propia corporación. simplemente ponga su url github empresarial en el campo de la machine .

Estoy tratando de instalar el repositorio privado github por npm que incluye otros repositorios privados github como dependencia.

He intentado muchas formas y publicaciones pero ninguna funciona. Esto es lo que estoy haciendo:

npm install git+https://github.com/myusername/mygitrepository.git

en package.json es como:

"dependencies": { "repository1name": "git+https://github.com/myusername/repository1.git", "repository2name": "git+https://github.com/myusername/repository2.git" }

¿Cuál es la forma correcta de hacerlo?


Hay varias maneras de hacerlo, como señalan las personas, pero las versiones más cortas son:

// from master "depName": "user/repo", // specific branch "depName": "user/repo#branch", // specific commit "depName": "user/repo#commit",

p.ej

"dependencies" : { "hexo-renderer-marked": "amejiarosario/hexo-renderer-marked#patch-1", "hexo-renderer-marked": "amejiarosario/hexo-renderer-marked#2249507", "hexo-renderer-marked": "amejiarosario/hexo-renderer-marked", }


La respuesta aceptada funciona, pero no me gusta mucho la idea de pegar tokens de seguridad en el package.json

Lo he encontrado en otro lado, simplemente ejecute este comando único como se documenta en la página de manual de git-config .

git config --global url."https://${GITHUB_TOKEN}@github.com/".insteadOf [email protected]:

GITHUB_TOKEN puede configurarse como variable environmnet o pegarse directamente

y luego instalo repositorios privados de github como: npm install user/repo --save

también funciona en Heroku, simplemente configura el comando git config ... como heroku-prebuild en package.json y configura GITHUB_TOKEN como la variable de configuración Heroku.


Lo siguiente funcionó bien en todos los escenarios que necesitaba:

"dependencies": { "GitRepo": "git+https://<token-from-github>:[email protected]/<user>/<GitRepo>.git" }


Para aquellos de ustedes que vinieron aquí para directorios públicos, de los documentos npm: https://docs.npmjs.com/files/package.json#git-urls-as-dependencies

Las URL de Git como Dependencias

Las URL de Git pueden ser de la forma:

git://github.com/user/project.git#commit-ish git+ssh://user@hostname:project.git#commit-ish git+ssh://user@hostname/project.git#commit-ish git+http://user@hostname/project/blah.git#commit-ish git+https://user@hostname/project/blah.git#commit-ish

El commit-ish puede ser cualquier tag, sha o branch que se pueda suministrar como argumento para el pago de git. El valor predeterminado es maestro.


Para mi referencia de repositorio privado, no quería incluir un token seguro, y ninguno de los otros simples (es decir, especificar solo en package.json) funcionó. Esto es lo que funcionó:

  1. Fui a GitHub.com
  2. Navegado a un repositorio privado
  3. Se hizo clic en "Clonar o descargar" y en la URL copiada (que no coincidía con los ejemplos anteriores)
  4. Añadido # commit-sha
  5. Ran npm instalar

Prueba esto:

"dependencies" : { "name1" : "git://github.com/user/project.git#commit-ish", "name2" : "git://github.com/user/project.git#commit-ish" }

También puedes probar esto, donde visionmedia / express es name / repo:

"dependencies" : { "express" : "visionmedia/express" }

O (si el módulo del paquete npm existe):

"dependencies" : { "name": "*" }

Tomado de documentos de NPM