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 versioncomando. 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 patchRespuestas:
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.00.1no 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