npm
comando npm install -g npm
.
Este es el registro:
~
% brew install node
==> Downloading https://homebrew.bintray.com/bottles/node-13.3.0_1.catalina.bottle.tar.gz
Already downloaded: /Users/manabu/Library/Caches/Homebrew/downloads/8a482358c0487b3ffeeebf4d1f3b3ca825018f6318ecdd6368fd0a6f45e0bea1--node-13.3.0_1.catalina.bottle.tar.gz
==> Pouring node-13.3.0_1.catalina.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
/usr/local/etc/bash_completion.d
==> Summary
🍺 /usr/local/Cellar/node/13.3.0_1: 4,663 files, 59MB
~
% npm install -g npm
/usr/local/bin/npx -> /usr/local/lib/node_modules/npm/bin/npx-cli.js
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm ERR! code EEXIST
npm ERR! syscall symlink
npm ERR! path ../../../lib/node_modules/npm/man/man1/npm-access.1
npm ERR! dest /usr/local/share/man/man1/npm-access.1
npm ERR! errno -17
npm ERR! EEXIST: file already exists, symlink '../../../lib/node_modules/npm/man/man1/npm-access.1' -> '/usr/local/share/man/man1/npm-access.1'
npm ERR! File exists: /usr/local/share/man/man1/npm-access.1
npm ERR! Remove the existing file and try again, or run npm
npm ERR! with --force to overwrite files recklessly.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/manabu/.npm/_logs/2019-12-18T07_51_00_280Z-debug.log
Confirmé que esto sucedió nuevamente cuando ejecuté brew reinstall node
.
En realidad, como decía el resultado, lo ejecuté con éxito con --force
pero creo que solo mostrar estos registros es mejor que eliminar el comando npm
.
Editar (2020/01/11):
En realidad, como decía la salida, lo ejecuté con éxito con
--force
Más específicamente, hice estos pasos:
npm
comando que fue eliminado por npm install -g npm
brew reinstall node
para restaurarlonpm install -g --force npm
como se menciona en la salidarelacionada con el cambio @isaacs 'en https://github.com/npm/cli/commit/320ac9aeeafd11bb693c53b31148b8d10c4165e8 NPM / bin-links # 12 NPM / fs-suaves # 7 lanzado en [email protected]
surgido por la protuberancia de NPM de 6.13.2 a 6.13.4 en homebrew https://github.com/Homebrew/homebrew-core/commit/6acc21a27d0ba4ecfd6ebf4d77af7025143daefe#diff -d3ef2414308e30df24a517ca9a1324ee (autor / cometida por @pepyakin @fxcoudert @bayandin)
AFAICS este es el comportamiento previsto en npm. No me queda claro cómo se debe manejar esto en una configuración casera.
https://github.com/npm/cli/issues/672
Hice yarn global add npm
e instalé [email protected]
y no encontré el error, pero ahora todos mis paquetes globales anteriores se han ido: ((
Opté por no participar en Homebrew y simplemente usé https://github.com/nvm-sh/nvm
Solo haz
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash
Entonces en algún lugar del final, verás
=> Compressing and cleaning up git repository
=> Appending nvm source string to /Users/aprilmintacpineda/.bash_profile
=> Appending bash_completion source string to /Users/aprilmintacpineda/.bash_profile
=> Close and reopen your terminal to start using nvm or run the following to use it now:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
Solo haz source <name of profile>
En mi caso <name of profile>
es ~/.bash_profile
entonces será source ~/.bash_profile
luego
nvm install node
para instalar la última versión de node, también instalará la última versión de npm, y eso funcionó para mí.
No estoy seguro si está claro para todos en este hilo que la solución, dado que sabe lo que está haciendo y por qué, es simplemente
npm i -g --force npm
(observe la bandera --force
)
El problema es que, después de hacer npm -I npm y obtener el error, al intentar cualquier comando npm falla con 'zsh: command not found: npm', por lo que no pude ejecutar el comando --force incluso si quisiera. Tuve que preparar el nodo de reinstalación para recuperar npm.
Lo siento chicos, no describí completamente cómo evité temporalmente este problema. He actualizado la descripción, por favor échale un vistazo.
No estoy seguro si está claro para todos en este hilo que la solución, dado que sabe lo que está haciendo y por qué, es simplemente
npm i -g --force npm
(observe la bandera--force
)
Esta fue la única solución que encontré para solucionar este problema.
Segunda vez que me pasa esto en unas pocas semanas. Puedes arreglarlo con brew reinstall node
.
Aquí está la salida que obtengo ejecutando npm install -g npm
:
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
/usr/local/bin/npx -> /usr/local/lib/node_modules/npm/bin/npx-cli.js
npm ERR! code EEXIST
npm ERR! syscall symlink
npm ERR! path ../../../lib/node_modules/npm/man/man1/npm-adduser.1
npm ERR! dest /usr/local/share/man/man1/npm-adduser.1
npm ERR! errno -17
npm ERR! EEXIST: file already exists, symlink '../../../lib/node_modules/npm/man/man1/npm-adduser.1' -> '/usr/local/share/man/man1/npm-adduser.1'
npm ERR! File exists: /usr/local/share/man/man1/npm-adduser.1
npm ERR! Remove the existing file and try again, or run npm
npm ERR! with --force to overwrite files recklessly.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/albertvilacalvo/.npm/_logs/2020-01-13T11_55_47_922Z-debug.log
Resumida, la solución es:
brew reinstall node
npm i -g --force npm
Esto sucede no solo con la instalación de Homebrew. Tengo el mismo problema con el instalador de nodejs (del sitio oficial). Sin embargo, la solución funciona ... (sudo npm i -g --force npm)
¿Actualizar npm elimina npm? ¿Y no se fija desde diciembre?
¿Actualizar npm elimina npm? ¿Y no se fija desde diciembre?
Sí, me acaba de pasar también en MacOS 10.15.2
Me acaba de pasar a mí también. MacOS Catalina 10.15.3
Esto me acaba de pasar en Ubuntu, y no uso "brew".
Terminé intentando reinstalar npm, pero no me dejaba instalarlo sin sudo. Instalado con sudo, luego encontré una guía (aparentemente mala) para reclamar la propiedad del directorio ~ / .npm (y un par de otros). Al principio todavía no funcionaba, pero hash -r lo solucionó (en retrospectiva, reiniciar mi Ubuntu podría haber funcionado también). Existe una pequeña posibilidad de que esto también solucione un problema que estaba teniendo con react-snap.
Este error se informó en 2014 y me sucedió hoy en 2020. Qué desastre. ¿Se va a arreglar esto alguna vez?
Opté por no participar en Homebrew y simplemente usé https://github.com/nvm-sh/nvm
Solo haz
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash
Entonces en algún lugar del final, verás
=> Compressing and cleaning up git repository => Appending nvm source string to /Users/aprilmintacpineda/.bash_profile => Appending bash_completion source string to /Users/aprilmintacpineda/.bash_profile => Close and reopen your terminal to start using nvm or run the following to use it now: export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
Solo haz
source <name of profile>
En mi caso<name of profile>
es~/.bash_profile
entonces serásource ~/.bash_profile
luego
nvm install node
para instalar la última versión de node, también instalará la última versión de npm, y eso funcionó para mí.
Esto no sucede si usa nvm
"Esto no sucede si usa nvm"
Sí, bueno, tampoco sucede si usa yarn
, pero no estoy seguro de que sea relevante.
Creo que eso es irrelevante. NVM es el administrador de versiones de nodo, experimenté esto cuando usé brew para instalar el nodo, luego cambié a nvm, desde entonces no lo he experimentado todavía. Compruébelo aquí si no sabe qué es https://github.com/nvm-sh/nvm#installing -and-updated
Comentario más útil
Resumida, la solución es: