node.js - node - install npm debian
NPM no puede instalar tipos (1)
Actualice su versión npm
a la versión 4 o 5. npm
4 porque tuve problemas con 5, y usar 4 sigue siendo viable. No sé de ninguna buena razón para ejecutar una versión anterior.
Está utilizando npm
versión 1.4.9, como se muestra en esta línea del registro:
npm ERR! npm -v 1.4.9
El problema es que npm
versiones npm
anteriores a la versión 2 no admiten paquetes de ámbito . Los paquetes que comienzan con un @
son paquetes de ámbito, por lo que @types/lodash
es un paquete de ámbito. Necesita npm
versión 2 o superior para instalarlo. Si npm
la última npm
en la serie 1.x (1.4.29), obtendrías un mejor mensaje de error:
npm ERR! Error: This version of npm doesn''t support scoped packages (caused by reference to @types/lodash). Update to npm@2+.
La versión 1.4.9 ni siquiera sabía que los paquetes de alcance eran una cosa, por lo que no puede dar un buen mensaje de error. Parece que el símbolo @
significa que el nombre del paquete es una dirección y completó la información que falta con Github como el host predeterminado.
El comando de actualización que normalmente uso para actualizar npm
es:
npm install -g npm
Puede especificar una versión específica reemplazando el argumento npm
por uno que dé un número de versión específico. npm@4
, por ejemplo, instalaría la última npm
en la serie 4.x. Si no especifica un número de versión, obtendrá la versión más reciente.
Tengo un problema con la instalación de npm, ya que no instalará @types.
Esto funciona bien
npm install --save lodash
Sin embargo, preguntar por tipos no
npm install --save @types/lodash
PS C:/Development/Temp> npm install --save @types/lodash
npm WARN `git config --get remote.origin.url` returned wrong result (git://github.com/types/lodash)
npm WARN `git config --get remote.origin.url` returned wrong result ([email protected]:types/lodash)
npm ERR! git clone [email protected]:types/lodash Cloning into bare repository ''C:/Users/myuser/AppData/Roaming/npm-cache/_git-remotes/git-github-com-types-lodash-9eb5372a''...
npm ERR! git clone [email protected]:types/lodash Host key verification failed.
npm ERR! git clone [email protected]:types/lodash fatal: Could not read from remote repository.
npm ERR! git clone [email protected]:types/lodash
npm ERR! git clone [email protected]:types/lodash Please make sure you have the correct access rights
npm ERR! git clone [email protected]:types/lodash and the repository exists.
npm ERR! addLocal Could not install types/lodash
npm ERR! Error: ENOENT: no such file or directory, stat ''C:/Development/Temp/types/lodash''
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR! <http://github.com/npm/npm/issues>
npm ERR! System Windows_NT 10.0.15063
npm ERR! command "C://Program Files//nodejs//node.exe" "C://ProgramData//chocolatey//lib//npm//tools//node_modules//npm//bin//npm-cli.js" "install" "--save" "@types/lodash"
npm ERR! cwd C:/Development/Temp
npm ERR! node -v v8.6.0
npm ERR! npm -v 1.4.9
npm ERR! path C:/Development/Temp/types/lodash
npm ERR! syscall stat
npm ERR! code ENOENT
npm ERR! errno -4058
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! C:/Development/Temp/npm-debug.log
npm ERR! not ok code 0
PS C:/Development/Temp>
Esto me tiene rascándome la cabeza. He actualizado Chocolatey, NodeJS, NPM para asegurarme de que tengan las últimas versiones. Intenté los comandos en carpetas vacías o en un proyecto de TypeScript existente, pensando que podría confundirse al ejecutarlo en un repositorio de Git (error: remote.origin.url). Mirando la URL de GitHub no tiene sentido git: //github.com/types/lodash
Tomé estos ejemplos de MSDN Blog - El futuro de los archivos de declaración
Actualización: desinstalé Node.js e intenté reinstalar v6.11.3 LTS o v8.6.0. Sin embargo, el comando @types aún falla.
Actualización 2: me di cuenta de que Chocolately estaba enmascarando la versión npm. Quité la carpeta Chocolately y actualicé npm según la respuesta de @Louis.