o comando sudo: MPN: Não foi encontrado
sudo npm install -g n
eu entendo o erro:
sudo: npm: command not found
O MPN funciona sem o sudo. Quando o fizer ...
whereis node
estou a ver:
node: /usr/bin/node /usr/lib/node /usr/bin/X11/node /usr/local/node
em execução:
which npm
mostra:
/usr/local/node/bin/npm
tentei a solução em https://stackoverflow.com/a/5062718/1246159
Mas continuo a ter o mesmo erro. I também olhou para o ficheiro/etc / sudoers e a linha relevante é:Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Isto parece-me bem. Como posso pôr o MPN a trabalhar com o comando sudo?
22 answers
Eu tinha que fazer
sudo apt-get install npm
Isso funcionou comigo.
$ brew update
$ brew uninstall node
$ brew install node
$ brew postinstall
Eu tive o mesmo problema; aqui estão os comandos para corrigi-lo:
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
Aviso (editar)
Fazer um chmod 777
é uma solução muito suja. Experimente estes primeiro, um de cada vez, e pare quando se trabalha:
$ 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
é a única parte de instalação em que eu teria um problema
Permission denied - /usr/local/lib/node_modules/npm/.github
Então Eu
// !! READ EDIT ABOVE BEFORE RUNNING THIS CODE !!
$ sudo chmod -R 777 /usr/local/lib
$ brew postinstall node
E viola, o MPN está agora ligado.
$ npm -v
3.10.10
Extra
Se usou -R 777
em lib {[38] } a minha recomendação iria ser para configurar os ficheiros e pastas aninhados como uma configuração predefinida:
- $
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
Tive de fazer o seguinte:
brew update
brew uninstall node
- visita https://nodejs.org/en / obter o ficheiro
- Instale o ficheiro transferido
Para os utilizadores da CentOS, isto funciona para mim:
sudo yum install npm
Para instalar pacotes npm globalmente com permissão do sudo, /usr/bin/npm
deve estar disponível. Se npm
existe em alguma outra pasta, crie uma ligação suave como:
sudo ln -s /usr/local/bin/npm /usr/bin/npm
Funciona em Fedora 25, node8.0.0 e npm5.0.0
Para o debian após a instalação do nó enter
curl -k -O -L https://npmjs.org/install.sh
ln -s /usr/bin/nodejs /usr/bin/node
sh install.sh
Simplesmente reinstalar .
Em RHEL, CentOS e Fedora
sudo yum remove nodejs npm
sudo dnf remove nodejs npm [On Fedora 22+ versions]
Depois
yum -y install nodejs npm
dnf -y install nodejs npm [On Fedora 22+ versions]
Calma!..
ambos nodo e npm funcionam como um encanto agora!
Se instalou o node / npm com o nvm, o ficheiro de configuração do ambiente nvm tem de ser executado antes de poder usar qualquer um dos pacotes.
Isto é geralmente encontrado em ~/.nvm/nvm.sh.
Para executar isto automaticamente, incluir:
source ~/.nvm/nvm.sh
In the .ficheiro bash_ Profile para o seu utilizador
Se quiser então usar o sudo com esse utilizador, certifique-se de incluir o parâmetro-i para fazer com que o sudo defina o ambiente do utilizador. eg
sudo -iu jenkins npm install grunt-cli
Eu tinha o mesmo problema, a razão para que ele era npm Gestor de pacotes não foi instalado durante a instalação do nó. Isto foi causado por causa do seguinte erro: No processo de instalação há um passo chamado "Configuração Personalizada", aqui você tem a opção de escolher um dos seguintes: 1) Node.js runtime (isto é seleccionado por omissão). 2) Gestor de pacotes npm 3) atalhos de documentação Online. 4) Adicionar ao caminho. Se continuar como é o Gestor de pacotes npm não será instalado e, por isso, você vai ter o erro.
Solução: Seleccione o Gestor de pacotes npm quando tiver estas opções. Isto funcionou comigo.
Eu recebo o mesmo em CentOS.
which npm
dá:
$ which npm
/usr/local/bin/npm
Onde
$ sudo which npm
which: no npm in (/sbin:/bin:/usr/sbin:/usr/bin)
Tenho o mesmo para o nodo.
Então é provavelmente um problema em que o root não verifica {[[3]} por quaisquer binários.
Se tiver baixado o pacote do nó e extraído algures como /opt
, poderá simplesmente criar uma ligação simbólica 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
apt-get install npm2deb
Instruções para instalar o nó.js via Gestor de pacotes para:
- Arch Linux
- distribuições Linux baseadas no Debian e no Ubuntu
- Enterprise Linux e Fedora
- FreeBSD e OpenBSD
- Gentoo
- NetBSD
- openSUSE e SLE
- OSX [6]}SmartOS e illumos
- Void Linux
- Janelas
Adicionou a localização binária do MPN à localização do sudo usando o visudo e editando "secure_ path"
Agora "sudo MPN" funcionaRemover o nó completamente:
brew uninstall --force node
Instale novamente:
brew install node;
which node # => /usr/local/bin/node
export NODE_PATH='/usr/local/lib/node_modules'
Sudo apt-get install nodejs
Tenho o seguinte erro:
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, tentei com
sudo apt-get dist-upgrade
root@homestead:/usr/local/bin# npm -v
3.10.10
root@homestead:/usr/local/bin# node -v
v6.13.0
A minha solução é::
sudo -E env "PATH=$PATH" n stable
Por mim, tudo bem.
Encontrei-o aqui. https://stackoverflow.com/a/29400598/861615
Isto acontece porque você tem a pasta de pacotes globais por omissão
No caso de poder ser útil para qualquer um que use rh-*
pacotes isto funcionou para mim:
sudo ln -s /opt/rh/rh-nodejs8/root/usr/bin/npm /usr/local/bin/npm
Nó de instalação.js & simplesmente executar
npm install -g bower
Do seu projecto dir