node.js - manager - npm instalar no instalar la última versión en GitHub
npm last version (2)
Por defecto, las dependencias de NPM se extraen del repositorio de NPM. Los autores deben cargar manualmente nuevas versiones de su software al repositorio de NPM, por lo que la versión " @latest
" del código alojado en NPM es diferente de la última versión del código que existe en cualquier lugar (por ejemplo, en GitHub).
De acuerdo con la NPM del repositorio de NPM NPM , la última versión alojada en NPM es 0.9.16
mientras que la versión actual de GitHub es 0.10.0-rc3
.
Si desea que su proyecto dependa de una rama en particular o se comprometa con un repositorio de Git en particular (en lugar de las versiones alojadas en el repositorio de NPM), los desarrolladores de NPM han incluido un mecanismo explícito para permitir esto, detallado en " Git ". URLs como dependencias "en el package.json
documentos :
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 elgit checkout
. El valor predeterminado esmaster
.
De hecho, es aún más fácil usar un repositorio de Github.com como una dependencia:
A partir de la versión 1.1.65, puede referirse a las direcciones URL de GitHub como solo
"foo": "user/foo-project"
. Por ejemplo:
{ "name": "foo", "version": "0.0.0", "dependencies": { "express": "visionmedia/express" } }
Entonces, para usar el repositorio Sails GitHub, simplemente use:
"dependencies": {
"sails": "balderdashy/sails-mongo",
...
}
Y para usar el estado exacto de Sails tal como existe en GitHub a partir del 28 de abril de 2014, use:
"dependencies": {
"sails": "git://github.com/balderdashy/sails-mongo#b9cdce9a48",
...
}
Tengo un módulo llamado ''sails-mongo'' y quiero actualizarlo a la versión más nueva con el siguiente comando:
npm update sails-mongo --save
También intenté desinstalar y luego volver a instalar. Probé sails-mongo@latest
y sails-mongo@beta
.
Problema : la versión actual ( principal ) del archivo GitHub package.json ( https://github.com/balderdashy/sails-mongo/blob/master/package.json ) tiene:
"dependencies": {
"async": "~0.2.9",
"lodash": "~2.4.1",
"mongodb": "1.4.2",
"waterline-errors": "~0.10.0"
},
Y en el que se actualiza
"dependencies": {
"async": "0.2.10",
"underscore": "1.5.2",
"underscore.string": "2.3.3",
"mongodb": "~1.3.23"
},
La única forma en que obtengo la rama principal es usando el comando npm install git+https://github.com/balderdashy/sails-mongo
¿Por qué sails-mongo@latest
instala la rama principal?
Tuve un problema similar. A través del registro de NPM, estaba tratando de obtener lo último de un proyecto que vi en GitHub, así:
//package.json
"devDependencies": {
"foo-package": "^3.3.0",
}
Pero el código que obtuve de la npm install
(como se observó en la carpeta node_modules/
) no fue lo que vi en la rama maestra del repositorio de GitHub. Estaba confundido; ya que los dos no coinciden.
Eventualmente encontré: https://docs.npmjs.com/cli/view , que revela cierta información (versiones y fechas) de lo que el Registro de NPM conoce de un repositorio en particular.
// Console example
npm view foo-package
Después de confirmar que lo que quería de la rama maestra del repositorio de GitHub no estaba en el registro de NPM, eventualmente cambié mi enfoque de las URL de Git como dependencias , tal como lo hace @apsillers.