node.js - not - sudo: npm: comando no encontrado
uninstall node mac (23)
ADVERTENCIA (editar)
Hacer un
chmod 777
es una solución realmente sucia.
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 donde tendría un problema
Permission denied - /usr/local/lib/node_modules/npm/.github
Asique
// !! READ EDIT ABOVE BEFORE RUNNING THIS CODE !!
$ sudo chmod -R 777 /usr/local/lib
$ brew postinstall node
y viola, npm ahora está vinculado
$ npm -v
3.10.10
Extra
Si utilizó
-R 777
en
lib,
mi recomendación sería establecer los 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 755
Estoy tratando de actualizar a la última versión del nodo. Estoy siguiendo las instrucciones en http://davidwalsh.name/upgrade-nodejs
Pero cuando lo hago:
sudo npm install -g n
Me sale el error:
sudo: npm: command not found
npm funciona sin sudo. Cuando lo hago:
whereis node
Veo:
node: /usr/bin/node /usr/lib/node /usr/bin/X11/node /usr/local/node
Corriendo:
which npm
Muestra:
/usr/local/node/bin/npm
Probé 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?
El archivo npm debe estar en
/usr/local/bin/npm
.
Si no está allí, instale node.js nuevamente con el paquete en su
website
.
Esto funcionó en mi caso.
Eliminar el nodo por completo:
brew uninstall --force node
Instalar de nuevo:
brew install node;
which node # => /usr/local/bin/node
export NODE_PATH=''/usr/local/lib/node_modules''
En Ubuntu 18.04 esto funcionó para mí:
sudo apt install nodejs
sudo apt install npm
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/npm
Installl node.js y simplemente ejecuta
npm install -g bower
desde el directorio de tu proyecto
Me sale lo mismo en CentOS .
which npm
da:
$ which npm
/usr/local/bin/npm
dónde
$ sudo which npm
which: no npm in (/sbin:/bin:/usr/sbin:/usr/bin)
Tengo lo mismo para Node.
Por lo tanto, es probable que sea un problema en el que root no verifica
/usr/local/bin
busca de binarios.
Para 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.sh
Para instalar paquetes npm globalmente con permiso sudo,
/usr/bin/npm
debería estar disponible.
Si
npm
existe en algún otro directorio, cree un enlace suave como:
sudo ln -s /usr/local/bin/npm /usr/bin/npm
Funciona en Fedora 25, node8.0.0 y npm5.0.0
Para los usuarios de CentOS, esto funciona para mí:
sudo yum install npm
Para los usuarios de MAC, los siguientes pasos funcionaron para mí.
$ brew update
$ brew uninstall node
$ brew install node
$ brew postinstall
Resolví este problema por
apt-get install npm2deb
Se agregó la ruta binaria npm a la ruta sudo usando visudo y editando "secure_path"
Ahora funciona "sudo npm"
Si ha descargado el paquete de nodos y extraído en algún lugar como
/opt
, simplemente puede crear un enlace simbólico dentro de
/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/node
Si 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.sh
en 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 establezca el entorno del usuario. p.ej
sudo -iu jenkins npm install grunt-cli
También tuve el mismo problema en Homestead y lo intenté de muchas maneras. Lo intenté 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.0
Tenía que hacer
sudo apt-get install npm
Eso funcionó para mí.
Tuve el mismo problema, el motivo por el cual el administrador de paquetes npm no se instaló al instalar el nodo. Esto fue causado por el 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) Node.js runtime (Esto está seleccionado por defecto). 2) administrador de paquetes npm 3) Accesos directos de documentación en línea. 4) Agregar a la ruta. Si continúa como está, npm package manager 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í.
Tuve que hacer lo siguiente:
-
brew update
-
brew uninstall node
- Visite https://nodejs.org/en/ descargue el archivo
- Instala el archivo descargado
Yo tuve el mismo problema; Aquí están los comandos para solucionarlo:
-
sudo ln -s /usr/local/bin/node /usr/bin/node
-
sudo ln -s /usr/local/lib/node /usr/lib/node
-
sudo ln -s /usr/local/bin/npm /usr/bin/npm
-
sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf
simplemente reinstalar.
En RHEL, CentOS y Fedora
sudo yum remove nodejs npm
sudo dnf remove nodejs npm [On Fedora 22+ versions]
entonces
yum -y install nodejs npm
dnf -y install nodejs npm [On Fedora 22+ versions]
¡fácil! ... ¡tanto node como npm funcionan como un encanto ahora!
Instrucciones para instalar Node.js a través del administrador de paquetes para:
- Arch Linux
- Distribuciones Linux basadas en Debian y Ubuntu
- Enterprise Linux y Fedora
- FreeBSD y OpenBSD
- Gentoo
- NetBSD
- openSUSE y SLE
- OSX
- SmartOS e illumos
- Linux vacío
- Ventanas
Mi solución es:
sudo -E env "PATH=$PATH" n stable
Funciona bien para mi.
Lo encontré aquí: https://.com/a/29400598/861615
Esto sucede porque ha cambiado el directorio predeterminado de paquetes globales