npm instala repositorios privados de github por dependencia en el paquete.json
Estoy intentando instalar el repositorio privado de github por npm que incluye otros repositorios privados de github como dependencia.
Han intentado un montón de maneras y mensajes, pero ninguno está funcionando. Esto es lo que estoy haciendo :
npm install git+https://github.com/myusername/mygitrepository.git
En el paquete.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?
8 answers
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 existe el módulo de paquete npm):
"dependencies" : {
"name": "*"
}
Tomado de NPM docs
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-11 00:07:46
Lo siguiente funcionó bien en todos los escenarios que necesitaba:
"dependencies": {
"GitRepo": "git+https://<token-from-github>:[email protected]/<user>/<GitRepo>.git"
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-25 09:27:05
Para aquellos de ustedes que vinieron aquí por directorios públicos, de los documentos de npm: https://docs.npmjs.com/files/package.json#git-urls-as-dependencies
URL de Git como Dependencias
Las url de Git pueden ser de la siguiente 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 etiqueta, sha o rama que pueda ser suministrada como argumento a git checkout. El valor predeterminado es master.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-09 13:15:05
La respuesta aceptada funciona, pero no me gusta mucho la idea de pegar tokens seguros en el package.json
Lo he encontrado en otro lugar, simplemente ejecute este comando de una sola vez 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 configure el comando git config ...
anterior como heroku-prebuild
script en package.json
y configure GITHUB_TOKEN
como Heroku variable de configuración.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-03 08:49:14
Hay múltiples maneras de hacerlo como la gente señala, pero las versiones más cortas son:
// from master
"depName": "user/repo",
// specific branch
"depName": "user/repo#branch",
// specific commit
"depName": "user/repo#commit",
Por ejemplo
"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",
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-02 22:52:16
"dependencies": {
"some-package": "github:github_username/some-package"
}
O simplemente
"dependencies": {
"some-package": "github_username/some-package"
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-31 17:21:33
Dado que Git usa curl
bajo el capó, puede usar ~/.netrc
archivo con las credenciales. Para GitHub serí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ás usando Github Enterprise en tu propia corporación. solo tienes que poner la url de github de tu empresa en el campo machine
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-10 15:35:01
Para mi referencia de repositorio privado no quería incluir un token seguro, y ninguno de los otros simples (es decir, especificar solo en el paquete.json) funcionó. Esto es lo que funcionó:
- Fue a GitHub.com
- Navegado al Repositorio Privado
- Hizo clic en "Clonar o Descargar" y copió la URL (que no coincidía con los ejemplos anteriores)
- Añadido # commit-sha
- Se ejecutó npm install
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-27 23:17:24