Estou tentando atualizar para a versão mais recente do nó. Estou seguindo as instruções em http://davidwalsh.name/upgrade-nodejs
Mas quando eu faço:
sudo npm install -g n
Eu recebo o erro:
sudo: npm: command not found
O npm funciona sem o sudo. Quando eu faço:
whereis node
Entendo:
node: /usr/bin/node /usr/lib/node /usr/bin/X11/node /usr/local/node
Corrida:
which npm
Shows:
/usr/local/node/bin/npm
Tentei a solução em https://stackoverflow.com/a/5062718/1246159
Mas ainda estou recebendo o mesmo erro. Também observei o arquivo / etc / sudoers e a linha relevante é:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Isso parece bom para mim. Como posso obter o NPM trabalhando com o comando sudo?
sudo /usr/bin/npm install -g n
/usr/local/node/bin
ao seu$PATH
, masnpm
deve estar instalado no/usr/local/bin
. O primeiro diretório não é osecure_path
que explica porsudo
que não o encontra.nvm
Ubuntu aqui - com o comentário @robertklep, tenteisudo /home/${user}/.nvm/version/node/${version}/bin/npm install
e funcionou.Respostas:
O arquivo NPM devem estar em
/usr/local/bin/npm
. Se não estiver lá, instale o node.js novamente com o pacote em seu site . Isso funcionou no meu caso.fonte
eu tive que fazer
isso funcionou para mim.
fonte
npm
já está instalado, mas não pode ser acessada quando invocada através do sudo. Com esta solução, você reinstala o npm, que já existe. Isso é combater os sintomas, em vez de encontrar a causa. Eu entendo que isso pode corrigir coisas quebradas para algumas pessoas, mas é enganoso, ficar assim.sudo apt-get install npm
trabalhou para mim.Para usuários de MAC, as seguintes etapas funcionaram para mim.
fonte
brew uninstall node
não funcionou para mim, mas eu continuei com obrew install node
ebrew postinstall
e corrigiu o problema. Graçasbrew postinstall
faz exatamente?brew postinstall
é redundanteEu 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
fonte
%HOME%/.nvm/versions/node/v7.4.0/bin/npm
). Infelizmente, terei que fazer referência a esta resposta cada vez que atualizar usando o NVM devido à forma como a versão no caminho será alteradasudo ln -s $(whereis node) /usr/bin/node
E assim por diante. no seu perfil do bash.AVISO (editar)
Fazer a
chmod 777
é uma solução bastante radical. Tente primeiro, um de cada vez, e pare quando alguém 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 da instalação onde eu teria um problemaEntão eu
e viola, npm agora está ligado
Extra
Se você usou
-R 777
na lib, minha recomendação seria definir arquivos e diretórios aninhados para uma configuração padrão: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
fonte
chmod
deve ser esse diretório?drwxr-xr-x
são os padrões da lib. Dito isto, NÃO use o recurso recursivo-R
ao restaurar a pasta.Eu tive que fazer o seguinte:
brew update
brew uninstall node
fonte
Para usuários do CentOS, isso funciona para mim:
fonte
yum install epel-release; yum install npm
Para instalar pacotes npm globalmente com permissão sudo,
/usr/bin/npm
deve estar disponível. Senpm
existir em algum outro diretório, crie um link virtual como:Funciona no Fedora 25, node8.0.0 e npm5.0.0
fonte
No macOS, isso funcionou para mim:
fonte
unix
, mas ainda pode ser útil, já que é o topo de resultados de pesquisa no Google por "MacOS npm comando não encontrado"Para debian após a instalação do nó, digite
fonte
Se você instalou o node / npm com nvm, o arquivo de configuração do ambiente nvm deve ser executado antes que você possa usar qualquer pacote.
Isso geralmente é encontrado em ~ / .nvm / nvm.sh.
Para executar isso automaticamente, inclua:
no arquivo .bash_profile para seu usuário
Se você deseja usar o sudo com esse usuário, inclua o parâmetro -i para fazer o sudo definir o ambiente do usuário. por exemplo
fonte
simplesmente reinstale.
No RHEL, CentOS e Fedora
então
fácil! .. o node e o npm funcionam como um encanto agora!
fonte
Eu resolvi esse problema
fonte
Eu tive o mesmo problema, o motivo pelo qual era o gerenciador de pacotes npm não foi instalado durante a instalação do nó. Isso foi causado pelo seguinte erro: No processo de instalação, há uma etapa chamada "Configuração personalizada", aqui você tem a opção de escolher uma das seguintes opções: 1) Tempo de execução do Node.js. (Isso é selecionado por padrão). 2) gerenciador de pacotes npm 3) Atalhos da documentação online. 4) Adicionar ao caminho. Se você continuar como está, o gerenciador de pacotes npm não será instalado e, portanto, você receberá o erro.
Solução: selecione o gerenciador de pacotes npm ao obter essas opções. Isso funcionou para mim.
fonte
Se você baixou o pacote do nó e extraiu em algum lugar como
/opt
você pode simplesmente criar um link simbólico dentro/usr/local/bin
.fonte
Eu também tive o mesmo problema em Homestead e tentei de várias maneiras. Eu tentei com
sudo apt-get install nodejs
Estou tendo o erro a seguir:
Finalmente eu tentei com
sudo apt-get dist-upgrade
Funcionou bem.
fonte
Minha solução é:
Funciona bem para mim.
Encontre-o aqui: https://stackoverflow.com/a/29400598/861615
Isso acontece porque você alterou o diretório de pacotes globais padrão
fonte
Trabalhe comigo Resolvendo erros de permissão do EACCES ao instalar pacotes globalmente
Para minimizar a chance de erros de permissão, você pode configurar o npm para usar um diretório diferente. Neste exemplo, você criará e usará o diretório oculto no seu diretório pessoal.
Faça backup do seu computador. Na linha de comandos, em seu diretório inicial, crie um diretório para instalações globais:
Configure o npm para usar o novo caminho do diretório:
No seu editor de texto preferido, abra ou crie um arquivo ~ / .profile e adicione esta linha:
Na linha de comandos, atualize as variáveis do sistema:
Para testar sua nova configuração, instale um pacote globalmente sem usar o sudo:
fonte
Caminho binário npm anexado ao caminho sudo usando visudo e editando "secure_path"
Agora "sudo npm" funciona
fonte
Remova o nó completamente:
Instale novamente:
fonte
Caso possa ser útil para quem usa
rh-*
pacotes, isso funcionou para mim:fonte
Como instalei o node.js usando o arquivo .tar disponível no node.js, tive que colocar o local do diretório do nó em:
da raiz, mudando de usuário normal para raiz usando o comando:
tive que adicionar o caminho para o nó em que o extraí no arquivo .bashrc, como abaixo:
depois refereshed .bashrc usando
Depois disso
se afastou
fonte
Para mim, qualquer um dos métodos mencionados acima usando o Homebrew não funcionou no macOS. Desinstalei o nó usando o Homebrew e baixei o pacote do nó em https://nodejs.org/en/download/ e instalei-o. Funcionou como um encanto.
fonte
Installl node.js e simplesmente execute
do seu diretório de projeto
fonte