sudo: npm: comando non trovato

Sto cercando di aggiornare all’ultima versione del nodo. Seguo le istruzioni su http://davidwalsh.name/upgrade-nodejs

Ma quando lo faccio:

sudo npm install -gn 

Ottengo l’errore:

 sudo: npm: command not found 

npm funziona senza sudo. Quando io faccio:

 whereis node 

Io vedo:

 node: /usr/bin/node /usr/lib/node /usr/bin/X11/node /usr/local/node 

In esecuzione:

 which npm 

Spettacoli:

 /usr/local/node/bin/npm 

Ho provato la soluzione su https://stackoverflow.com/a/5062718/1246159

Ma sto ancora ricevendo lo stesso errore. Ho anche guardato il file / etc / sudoers e la riga relativa è:

 Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" 

Questo mi sta bene. Come posso ottenere che NPM funzioni con il comando sudo?

Il file npm dovrebbe essere in /usr/local/bin/npm . Se non è lì, installa node.js di nuovo con il pacchetto sul loro sito web . Questo ha funzionato nel mio caso.

Ho dovuto fare

 sudo apt-get install npm 

quello ha funzionato per me.

Per gli utenti MAC, i seguenti passaggi hanno funzionato per me.

 $ brew update $ brew uninstall node $ brew install node $ brew postinstall 

Ho avuto lo stesso problema; ecco i comandi per risolverlo:

  • 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

ATTENZIONE (modifica)

Fare un chmod 777 è una soluzione davvero sporca. Prova questi prima, uno alla volta, e fermati quando si lavora:

  • $ 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 è l’unica parte di installazione in cui troverei un problema

 Permission denied - /usr/local/lib/node_modules/npm/.github 

Così io

 // !! READ EDIT ABOVE BEFORE RUNNING THIS CODE !! $ sudo chmod -R 777 /usr/local/lib $ brew postinstall node 

e viola, npm è ora collegato

 $ npm -v 3.10.10 

Extra

Se hai usato -R 777 su lib la mia raccomandazione sarebbe quella di impostare file e directory annidati su un’impostazione predefinita:

  • $ 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

Ho dovuto fare quanto segue:

  1. brew update
  2. brew uninstall node
  3. Visita https://nodejs.org/en/ scarica il file
  4. Installa il file scaricato

Per gli utenti di CentOS, questo funziona per me:

 sudo yum install npm 

Per installare i pacchetti npm globalmente con authorization sudo, dovrebbe essere disponibile /usr/bin/npm . Se npm esiste in qualche altra directory, crea un collegamento npm come:

 sudo ln -s /usr/local/bin/npm /usr/bin/npm 

Funziona su Fedora 25, node8.0.0 e npm5.0.0

Per debian dopo aver installato il nodo enter

 curl -k -O -L https://npmjs.org/install.sh ln -s /usr/bin/nodejs /usr/bin/node sh install.sh 

Se hai installato node / npm con nvm, il file di configurazione dell’ambiente nvm deve essere eseguito prima di poter utilizzare entrambi i pacchetti.

Questo si trova generalmente in ~ / .nvm / nvm.sh.

Per eseguirlo automaticamente, includi:

 source ~/.nvm/nvm.sh 

nel file .bash_profile per il tuo utente

Se si desidera utilizzare sudo con quell’utente, assicurarsi di includere il parametro -i per impostare sudo l’ambiente utente. per esempio

 sudo -iu jenkins npm install grunt-cli 

semplicemente reinstallare.

Su RHEL, CentOS e Fedora

 sudo yum remove nodejs npm sudo dnf remove nodejs npm [On Fedora 22+ versions] 

poi

 yum -y install nodejs npm dnf -y install nodejs npm [On Fedora 22+ versions] 

facile! .. sia il nodo e npm funziona come un fascino ora!

Ho avuto lo stesso problema, il motivo per cui npm package manager non è stato installato durante l’installazione del nodo. Ciò è stato causato dal seguente errore: Nel processo di installazione è presente un passaggio denominato “Installazione personalizzata”, qui è ansible scegliere una delle seguenti opzioni: 1) Runtime Node.js (selezionato per impostazione predefinita). 2) npm package manager 3) Scorciatoie della documentazione online. 4) Aggiungi al percorso. Se procedi come è npm, il gestore pacchetti non verrà installato e quindi otterrai l’errore.

Soluzione: selezionare il gestore pacchetti npm quando si ottengono queste opzioni. Questo ha funzionato per me.

Ottengo lo stesso su CentOS .

which npm dà:

 $ which npm /usr/local/bin/npm 

dove

 $ sudo which npm which: no npm in (/sbin:/bin:/usr/sbin:/usr/bin) 

Ottengo lo stesso per Node.

Quindi probabilmente è un problema in cui root non controlla /usr/local/bin per eventuali binari.

Se hai scaricato il pacchetto del nodo ed estratto da qualche parte come /opt puoi semplicemente creare un link simbolico all’interno di /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 

Ho risolto questo problema

 apt-get install npm2deb 

Istruzioni per l’installazione di Node.js tramite il gestore pacchetti per:

  • Arch Linux
  • Distribuzioni Linux basate su Debian e Ubuntu
  • Enterprise Linux e Fedora
  • FreeBSD e OpenBSD
  • Gentoo
  • NetBSD
  • openSUSE e SLE
  • OSX
  • SmartOS e illumos
  • Vuoto Linux
  • windows

Aggiunto binario percorso npm al percorso sudo usando visudo e modifica “percorso sicuro”

Ora “sudo npm” funziona

Rimuovi completamente il nodo:

  brew uninstall --force node 

Installa di nuovo:

 brew install node; which node # => /usr/local/bin/node export NODE_PATH='/usr/local/lib/node_modules' 

Ho anche avuto lo stesso problema in Homestead e ho provato molti modi. Ci ho provato

sudo apt-get install nodejs

Ottengo il seguente errore:

 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 ho provato con

sudo apt-get dist-upgrade

Ha funzionato bene.

 [email protected]:/usr/local/bin# npm -v 3.10.10 [email protected]:/usr/local/bin# node -v v6.13.0 

La mia soluzione è:

 sudo -E env "PATH=$PATH" n stable 

Funziona bene per me.

Trovato qui: https://stackoverflow.com/a/29400598/861615

Questo succede perché hai cambiato la directory dei pacchetti globali di default

Nel caso in cui potrebbe essere utile per chiunque usi i pacchetti rh-* , questo ha funzionato per me:

 sudo ln -s /opt/rh/rh-nodejs8/root/usr/bin/npm /usr/local/bin/npm 

Installl node.js e semplicemente eseguito

 npm install -g bower 

dal tuo progetto dir