Estoy tratando de actualizar a la última versión de node. Estoy siguiendo las instrucciones en http://davidwalsh.name/upgrade-nodejs
Pero cuando lo hago:
sudo npm install -gnme sale el error:
sudo: npm: command not foundnpm funciona sin sudo. Cuando lo hago:
whereis nodeVeo:
node: /usr/bin/node /usr/lib/node /usr/bin/X11/node /usr/local/nodeCorriendo:
which npmMuestra:
/usr/local/node/bin/npmProbé la solución en https://stackoverflow.com/a/5062718/1246159
Pero sigo recibiendo el mismo error. También miré el archivo /etc/sudoers y la línea relevante es:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"Esto me parece bien. ¿Cómo puedo hacer que NPM funcione con el comando sudo?
Para los usuarios de MAC, los siguientes pasos me funcionaron.
Si obtiene un error para Brew, este es el comando que debe escribir primero en la terminal:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" $ brew update $ brew uninstall node $ brew install node $ brew postinstallTuve que hacer lo siguiente:
brew updatebrew uninstall nodeTenía que hacer
sudo apt-get install npmeso funcionó para mí.
Instale node.js y simplemente ejecute
npm install -g bowerdesde el directorio de su proyecto
Se agregó la ruta binaria npm a la ruta sudo usando visudo y editando "secure_path"
Ahora "sudo npm" funciona
Si descargó el paquete de nodos y lo extrajo en algún lugar como /opt , simplemente puede crear un enlace simbólico dentro /usr/local/bin .
/usr/local/bin/npm -> /opt/node-v4.6.0-linux-x64/bin/npm /usr/local/bin/node -> /opt/node-v4.6.0-linux-x64/bin/nodeYo tuve el mismo problema; Aquí están los comandos para solucionarlo:
sudo ln -s /usr/local/bin/node /usr/bin/nodesudo ln -s /usr/local/lib/node /usr/lib/nodesudo ln -s /usr/local/bin/npm /usr/bin/npmsudo ln -s /usr/local/bin/node-waf /usr/bin/node-wafPara debian después de instalar el nodo ingrese
curl -k -O -L https://npmjs.org/install.sh ln -s /usr/bin/nodejs /usr/bin/node sh install.shResolví este problema por
apt-get install npm2debSi instaló node/npm con nvm, el archivo de configuración del entorno nvm debe ejecutarse antes de poder usar cualquiera de los paquetes.
Esto generalmente se encuentra en ~/.nvm/nvm.sh.
Para ejecutar esto automáticamente, incluya:
source ~/.nvm/nvm.shen el archivo .bash_profile para su usuario
Si luego desea usar sudo con ese usuario, asegúrese de incluir el parámetro -i para que sudo configure el entorno del usuario. p.ej
sudo -iu jenkins npm install grunt-cli ¡ADVERTENCIA! - Hacer un chmod 777 es una solución bastante radical. Pruebe estos primero, uno a la vez, y deténgase cuando uno funcione:
$ sudo chmod -R 777 /usr/local/lib/node_modules/npm$ sudo chmod -R 777 /usr/local/lib/node_modules$ sudo chmod g+w /usr/local/lib$ sudo chmod g+rwx /usr/local/lib $ brew postinstall node es la única parte de instalación en la que tendría un problema
Permission denied - /usr/local/lib/node_modules/npm/.githubAsique
// !! READ EDIT ABOVE BEFORE RUNNING THIS CODE !! $ sudo chmod -R 777 /usr/local/lib $ brew postinstall nodey viola, npm ahora está vinculado
$ npm -v 3.10.10Extra
Si usó -R 777 en lib , mi recomendación sería establecer archivos y directorios anidados en una configuración predeterminada:
find /usr/local/lib -type f -print -exec chmod 644 {} \;find /usr/local/lib -type d -print -exec chmod 755 {} \;chmod /usr/local/lib 755Para los usuarios de CentOS, esto funciona para mí:
sudo yum install npmTuve el mismo problema, el motivo fue que el administrador de paquetes npm no se instaló al instalar el nodo. Esto se debió al siguiente error: en el proceso de instalación hay un paso llamado "Configuración personalizada", aquí tiene la opción de elegir uno de los siguientes: 1) Tiempo de ejecución de Node.js (Esto está seleccionado de manera predeterminada). 2) Administrador de paquetes npm 3) Atajos de documentación en línea. 4) Agregar a la ruta. Si continúa como está, el administrador de paquetes npm no se instalará y, por lo tanto, obtendrá el error.
Solución: seleccione el administrador de paquetes npm cuando obtenga estas opciones. Esto funcionó para mí.
Eliminar nodo por completo:
brew uninstall --force nodeInstalar de nuevo:
brew install node; which node # => /usr/local/bin/node export NODE_PATH='/usr/local/lib/node_modules'Para instalar paquetes npm globalmente con permiso sudo, /usr/bin/npm debe estar disponible. Si npm existe en algún otro directorio, cree un enlace suave como:
sudo ln -s /usr/local/bin/npm /usr/bin/npmFunciona en Fedora 25, node8.0.0 y npm5.0.0
simplemente reinstale.
En RHEL, CentOS y Fedora
sudo yum remove nodejs npm sudo dnf remove nodejs npm [On Fedora 22+ versions]luego
yum -y install nodejs npm dnf -y install nodejs npm [On Fedora 22+ versions]¡Fácil! ... ¡tanto el nodo como el npm funcionan a la perfección ahora!
También tuve el mismo problema en Homestead y probé de muchas maneras. probé con
sudo apt-get install nodejs
Obtuve el siguiente error:
The following packages have unmet dependencies: npm : Depends: nodejs but it is not going to be installed Depends: node-abbrev (>= 1.0.4) but it is not going to be installed Depends: node-ansi (>= 0.3.0-2) but it is not going to be installed Depends: node-ansi-color-table but it is not going to be installed Depends: node-archy but it is not going to be installed Depends: node-block-stream but it is not going to be installed Depends: node-fstream (>= 0.1.22) but it is not going to be installed Depends: node-fstream-ignore but it is not going to be installed Depends: node-github-url-from-git but it is not going to be installed Depends: node-glob (>= 3.1.21) but it is not going to be installed Depends: node-graceful-fs (>= 2.0.0) but it is not going to be installed Depends: node-inherits but it is not going to be installed Depends: node-ini (>= 1.1.0) but it is not going to be installed Depends: node-lockfile but it is not going to be installed Depends: node-lru-cache (>= 2.3.0) but it is not going to be installed Depends: node-minimatch (>= 0.2.11) but it is not going to be installed Depends: node-mkdirp (>= 0.3.3) but it is not going to be installed Depends: node-gyp (>= 0.10.9) but it is not going to be installed Depends: node-nopt (>= 3.0.1) but it is not going to be installed Depends: node-npmlog but it is not going to be installed Depends: node-once but it is not going to be installed Depends: node-osenv but it is not going to be installed Depends: node-read but it is not going to be installed Depends: node-read-package-json (>= 1.1.0) but it is not going to be installed Depends: node-request (>= 2.25.0) but it is not going to be installed Depends: node-retry but it is not going to be installed Depends: node-rimraf (>= 2.2.2) but it is not going to be installed Depends: node-semver (>= 2.1.0) but it is not going to be installed Depends: node-sha but it is not going to be installed Depends: node-slide but it is not going to be installed Depends: node-tar (>= 0.1.18) but it is not going to be installed Depends: node-underscore but it is not going to be installed Depends: node-which but it is not going to be installed E: Unable to correct problems, you have held broken packages.Finalmente probé con
sudo apt-get dist-upgrade
Funcionó bien.
root@homestead:/usr/local/bin# npm -v 3.10.10 root@homestead:/usr/local/bin# node -v v6.13.0Mi solución es:
sudo -E env "PATH=$PATH" n stableFunciona bien para mí.
Lo encontré aquí: https://stackoverflow.com/a/29400598/861615
Esto sucede porque ha cambiado el directorio de paquetes globales predeterminado
En caso de que pueda ser útil para cualquiera que use paquetes rh-* , esto funcionó para mí:
sudo ln -s /opt/rh/rh-nodejs8/root/usr/bin/npm /usr/local/bin/npmEn macOS, esto funcionó para mí:
brew reinstall nodeComo instalé node.js usando el archivo .tar disponible en node.js, tuve que poner la ubicación del directorio del nodo en:
~/.bashrc
de root cambiando de usuario normal a root usando el comando:
sudo -i
luego tuve que agregar la ruta al nodo donde lo extraje en el archivo .bashrc como se muestra a continuación: 
luego refirió .bashrc usando
. ~/.bashrc
después de eso
npm: command not foundse fue
Trabaja para mí Resolviendo errores de permisos EACCES al instalar paquetes globalmente
Para minimizar la posibilidad de errores de permisos, puede configurar npm para usar un directorio diferente. En este ejemplo, creará y usará un directorio oculto en su directorio de inicio.
Copia de seguridad de tu computadora. En la línea de comando, en su directorio de inicio, cree un directorio para instalaciones globales:
mkdir ~/.npm-globalConfigure npm para usar la nueva ruta del directorio:
npm config set prefix '~/.npm-global'En su editor de texto preferido, abra o cree un archivo ~/.profile y agregue esta línea:
export PATH=~/.npm-global/bin:$PATHEn la línea de comando, actualice las variables de su sistema:
source ~/.profilePara probar su nueva configuración, instale un paquete globalmente sin usar sudo:
npm install -g jshintPara mí, ninguno de los métodos mencionados anteriormente usando Homebrew no funcionó en macOS. Entonces, desinstalé el nodo usando Homebrew y descargué el paquete del nodo de https://nodejs.org/en/download/ y lo instalé. Funcionó a las mil maravillas.
Puedes hacer un enlace simbólico y funciona para mí.
npm actual
which npm
sudo ln -s cual/npm /usr/local/bin/npm
sudo npm -v
En lugar de instalar el nodo nuevamente, lo que parece ser la solución aceptada, el problema es que no hay permisos para la carpeta nodejs/usr/local.
Ingrese el siguiente comando sudo chmod -R 777 /usr/local/nodejs/