Tuve que cambiar la versión de mi aplicación npm de 0.1 a 0.0.1 para que npm no hiciera esto.
$ npm install
npm ERR! install Couldn't read dependencies
npm ERR! Error: invalid version: 0.1
npm ERR! at validVersion (/usr/local/Cellar/node/0.10.5/lib/node_modules/npm/node_modul
es/read-package-json/read-json.js:571:40)
npm ERR! at final (/usr/local/Cellar/node/0.10.5/lib/node_modules/npm/node_modules/read
-package-json/read-json.js:323:23)
npm ERR! at /usr/local/Cellar/node/0.10.5/lib/node_modules/npm/node_modules/read-packag
e-json/read-json.js:139:33
npm ERR! at cb (/usr/local/Cellar/node/0.10.5/lib/node_modules/npm/node_modules/slide/l
ib/async-map.js:48:11)
npm ERR! at /usr/local/Cellar/node/0.10.5/lib/node_modules/npm/node_modules/read-packag
e-json/read-json.js:301:48
npm ERR! at fs.js:207:20
npm ERR! at Object.oncomplete (fs.js:107:15)
npm ERR! If you need help, you may report this log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <[email protected]>
npm ERR! System Darwin 12.3.0
npm ERR! command "/usr/local/Cellar/node/0.10.5/bin/node" "/usr/local/bin/npm" "install"
npm ERR! cwd /Users/lust/Documents/ply/dev-server
npm ERR! node -v v0.10.5
npm ERR! npm -v 1.2.18
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/lust/Documents/ply/dev-server/npm-debug.log
npm ERR! not ok code 0
Para completar, aquí está el json de trabajo
$ cat package.json
{
"name": "ply",
"description": "ply server for local dev testing deployments",
"version": "0.0.1",
"private": true,
"dependencies": {
"express": "3.x"
}
}
la versión solía ser "0.1" cuando cometió el error.
¿Es este algún tipo de concepto de control de versiones de compatibilidad API / ABI que requiere 3 conjuntos de números de versión? ¿Por qué el mensaje de error no es más amigable con esto?
npm version
comando. Le permite incrementar la versión semántica según los niveles mayor, menor o de parche. Ejemplos:npm version major
,npm version minor
,npm version patch
Respuestas:
Sí, esto es necesario para el control de versiones semántico , que es el esquema de control de versiones que utilizan los paquetes npm. Aquí está el fragmento de
npm help json
:fuente
Respuesta simple: use
0.1.0
0.1
no trabajará¡Feliz codificación!
fuente
Entonces, sí, la respuesta corta es "Necesitas usar versiones semánticas".
Pero el razonamiento detrás de esto es proporcionar una versión de paquete uniforme y sensata a todos los usuarios de npm. Cuando obtiene un número de versión de un paquete, tiene cierto nivel de confianza en que el autor comprende semver y lo está empleando correctamente.
fuente