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?
sudo /usr/bin/npm install -g n
/usr/local/node/bin
a su$PATH
, peronpm
debe estar instalado en/usr/local/bin
. El primer directorio no está en elsecure_path
que explica por quésudo
no puede encontrarlo.nvm
en Ubuntu aquí, con el comentario de @robertklep, lo intentésudo /home/${user}/.nvm/version/node/${version}/bin/npm install
y funcionó.Respuestas:
El archivo npm debería estar en
/usr/local/bin/npm
. Si no está allí, instale node.js nuevamente con el paquete en su sitio web . Esto funcionó en mi caso.fuente
Tenía que hacer
Eso funcionó para mí.
fuente
npm
ya está instalada pero no es accesible cuando se invoca a través de sudo. Con esta solución, reinstala npm que ya existe. Esto es combatir los síntomas en lugar de encontrar la causa. Entiendo que esto puede corregir las cosas rotas para algunas personas, pero es engañoso, estar así.sudo apt-get install npm
trabajó para mi.Para los usuarios de MAC, los siguientes pasos funcionaron para mí.
fuente
brew uninstall node
no funcionó para mí, pero continuó con labrew install node
ebrew postinstall
y solucionado el problema. Graciasbrew postinstall
exactamente?brew postinstall
es redundanteYo 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
fuente
%HOME%/.nvm/versions/node/v7.4.0/bin/npm
). Lamentable que voy a tener que hacer referencia a esta respuesta de cada actualización vez que el uso de NVM, debido a la forma en la versión en la trayectoria cambiarásudo ln -s $(whereis node) /usr/bin/node
Y así sucesivamente. en tu perfil bash.ADVERTENCIA (editar)
Hacer una
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 donde tendría un problemaAsique
y viola, npm ahora está vinculado
Extra
Si utilizó
-R 777
el lib mi recomendación sería la creación de archivos y directorios anidados a un ajuste por defecto: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
fuente
chmod
debería ser este directorio?drwxr-xr-x
son los valores predeterminados para lib. Dicho esto, NO use la función recursiva-R
al volver a configurar la carpeta.Tuve que hacer lo siguiente:
brew update
brew uninstall node
fuente
Para los usuarios de CentOS, esto funciona para mí:
fuente
yum install epel-release; yum install npm
Para instalar paquetes npm globalmente con permiso sudo,
/usr/bin/npm
debe estar disponible. Sinpm
existe en algún otro directorio, cree un enlace suave como:Funciona en Fedora 25, node8.0.0 y npm5.0.0
fuente
En macOS, esto funcionó para mí:
fuente
unix
, pero aún podría ser útil, ya que es el principal resultado de búsqueda de Google para "comando macos npm no encontrado"Para debian después de instalar el nodo, ingrese
fuente
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:
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
fuente
simplemente reinstalar.
En RHEL, CentOS y Fedora
luego
¡fácil! ... ¡tanto node como npm funcionan como un encanto ahora!
fuente
Resolví este problema por
fuente
Tuve el mismo problema, la razón de esto fue que 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) npm package manager 3) Accesos directos a la documentación en línea. 4) Añadir 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í.
fuente
Si ha descargado el paquete de nodos y extraído en algún lugar
/opt
, simplemente puede crear un enlace simbólico en su interior/usr/local/bin
.fuente
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:
Finalmente lo intenté con
sudo apt-get dist-upgrade
Funcionó bien.
fuente
Mi solución es:
Funciona bien para mi.
Lo encontré aquí: https://stackoverflow.com/a/29400598/861615
Esto sucede porque ha cambiado el directorio predeterminado de paquetes globales
fuente
Trabaja para mí Resolver 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:
Configure npm para usar la nueva ruta del directorio:
En su editor de texto preferido, abra o cree un archivo ~ / .profile y agregue esta línea:
En la línea de comando, actualice las variables de su sistema:
Para probar su nueva configuración, instale un paquete globalmente sin usar sudo:
fuente
Se agregó la ruta binaria npm a la ruta sudo usando visudo y editando "secure_path"
Ahora funciona "sudo npm"
fuente
Eliminar el nodo por completo:
Instalar de nuevo:
fuente
En caso de que pueda ser útil para cualquiera que use
rh-*
paquetes, esto funcionó para mí:fuente
Como instalé node.js usando el archivo .tar disponible en node.js, tuve que poner la ubicación del directorio de nodos en:
de root cambiando de usuario normal a root usando el comando:
luego tuve que agregar la ruta al nodo donde lo extraje en el archivo .bashrc como se muestra a continuación:
luego volvió a actualizar .bashrc usando
después de eso
se fue
fuente
Para mí, ninguno de los métodos mencionados anteriormente con 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.
fuente
Installl node.js y simplemente ejecuta
desde el directorio de tu proyecto
fuente