O nome do interpretador NodeJS ( node
) no Ubuntu foi renomeado nodejs
devido a um conflito de nome com outro pacote. Aqui está o que o leia-me. O Debian diz:
O nome upstream do comando interpretador Node.js. é "nó". No Debian, o comando interpretador foi alterado para "nodejs".
Isso foi feito para impedir uma colisão de espaço para nome: outros comandos usam o mesmo nome em seus upstream, como ax25-node do pacote "node".
Os scripts que chamam o Node.js como um comando do shell devem ser alterados para usar o comando "nodejs".
No entanto, o uso de nodejs facilita a instalação de pacotes usando npm
. A instalação do pacote falha com o seguinte erro:
sh: 1: node: not found npm WARN This failure might be due to the use of legacy binary "node" npm WARN For further explanations, please read /usr/share/doc/nodejs/README.Debian
Como faço para o npm entender que o nodejs já está instalado no sistema, mas o nome do interpretador é diferente?
ln -s nodejs node
em/usr/bin
. É meio que um truque.Respostas:
TL; DR:
Antes de mais, deixe-me esclarecer um pouco a situação. No verão de 2012, os mantenedores do Debian decidiram renomear o Node.js executável para evitar algum tipo de colisão de namespace com outro pacote. Foi uma decisão muito difícil para o Comitê Técnico Debian, porque quebra a compatibilidade com versões anteriores.
A seguir, uma citação do rascunho da resolução do Comitê, publicado na lista de discussão Debian :
O parágrafo 2 é a solução real para a questão do OP. O OP deve tentar instalar este pacote em vez de fazer o link simbólico manualmente. Aqui está um link para este pacote no índice de pacotes Debian site de .
Pode ser instalado usando
sudo apt-get install nodejs-legacy
.Não encontrei nenhuma informação sobre a adoção de tudo pelos desenvolvedores do NPM, mas acho que o
npm
pacote será corrigido em algum momento enodejs-legacy
se tornará realmente legado.fonte
sudo apt-get install nodejs-legacy
Tente vincular o nó ao nodejs. Primeiro descubra onde está o nodejs
Em seguida, vincule o nó ao nodejs
Estou assumindo que / usr / bin está no seu caminho de execução. Em seguida, você pode testar digitando node ou npm na linha de comando e tudo deve funcionar agora.
fonte
nodejs-legacy
pacote é mais fácil./usr/bin
menos que você estejadpkg
. A solução adequada (se você gosta dessa abordagem de ligação simbólica manual) é criar o link simbólico/usr/local/bin
designado para instalações e substituições locais. Tudo o que você faz manualmente/usr/bin
pode e será substituído pelo gerenciador de pacotes e / ou irá confundi-lo.Você também pode instalar o Nodejs usando o NVM ou o Nodejs Version Manager. Há muitos benefícios em usar um gerenciador de versão. Sendo um deles, você não precisa se preocupar com esse problema.
Instruções:
Após a instalação dos pacotes de pré-requisito, você pode puxar o script de instalação nvm da página GitHub do projeto. O número da versão pode ser diferente, mas, em geral, você pode fazer o download e instalá-lo com a seguinte sintaxe:
Isso fará o download do script e o executará. Ele instalará o software em um subdiretório do diretório inicial em
~/.nvm
. Ele também adicionará as linhas necessárias ao seu~/.profile
arquivo para usá-lo.Para obter acesso à funcionalidade nvm, será necessário fazer logoff e logon novamente, ou você pode originar o arquivo ~ / .profile para que sua sessão atual conheça as alterações:
Agora que você tem o nvm instalado, é possível instalar versões isoladas do Node.js.
Para descobrir as versões do Node.js disponíveis para instalação, você pode digitar:
Como você pode ver, a versão mais recente no momento desta redação é a v0.11.14. Você pode instalar isso digitando:
Geralmente, o nvm muda para usar a versão instalada mais recentemente. Você pode dizer explicitamente à nvm para usar a versão que acabamos de baixar digitando:
Quando você instala o Node.js usando o nvm, o executável é chamado de nó. Você pode ver a versão atualmente sendo usada pelo shell digitando:
O tutorial completo pode ser encontrado aqui
fonte
usr/bin/node
. Assim correusudo ln -s /home/www/.nvm/v0.10.36/bin/node /usr/bin/node
Instale
nvm
primeiro usando:Comando de execução
Agora execute isso e isso mostrará todas as versões instaladas ou outras versões dos pacotes:
Pacotes instalados estarão em verde. Instale a versão que você deseja:
Verifique onde não está instalado:
Verifique a versão atual:
fonte
Combine a resposta aceita com
source ~/.profile
o comentário que foi dobrado e alguns comandos de limpeza antes. Muito provavelmente você também precisarásudo apt-get install npm
depois.fonte
para mim o problema foi resolvido por,
fonte
Aqui está outra abordagem que eu uso, pois gosto de n para facilitar a alternância entre versões de nós.
Em um novo sistema Ubuntu, primeiro instale o nó 'system':
Em seguida, instale o módulo n globalmente:
Como o nó do sistema foi instalado primeiro (acima), o sistema alternativo pode ser usado para apontar corretamente para o nó fornecido por n . Primeiro verifique se o sistema de alternativas não tem nada para o nó:
Em seguida, adicione o nó fornecido por n :
Em seguida, adicione o nó fornecido pelo sistema (aquele que foi instalado com curl):
Agora selecione o nó fornecido por n usando o menu interativo (selecione
/usr/local/bin/node
no menu apresentado pelo seguinte comando):Por fim, como
/usr/local/bin
geralmente tem uma precedência mais alta no PATH do que/usr/bin
, o alias a seguir deve ser criado (digite seu .bashrc ou .zshrc) para que o nó do sistema alternativo seja eficaz; caso contrário, o nó instalado com n em / usr / local / bin sempre terá precedência:Agora você pode alternar facilmente entre versões de nós com
n <desired node version number>
.fonte
No Linux Mint 17, tentei as duas soluções (criando um link simbólico ou usando o
nodejs-legacy
pacote) sem êxito.A única coisa que finalmente funcionou para mim foi usar o ppa de Chris Lea:
Este nó instalado versão 10.37 e npm 1.4.28. Depois disso, eu poderia instalar pacotes globalmente.
fonte
Como outras pessoas já mencionaram, vou sugerir não usar "sudo apt-get" para instalar o nó ou qualquer biblioteca de desenvolvimento. Você pode baixar a versão necessária em https://nodejs.org/dist/v6.9.2/ e configurar seu próprio ambiente.
Vou recomendar ferramentas como nvm e n , controlá-lo versão nó. É muito conveniente alternar e trabalhar com esses módulos. https://github.com/creationix/nvm https://github.com/tj/n
Ou escreva bash básico para baixar zip / tar, extraia a pasta de movimentação e crie um link virtual. Sempre que precisar atualizar, aponte o link virtual antigo para a nova versão baixada. Como eu criei para mim, você pode consultar: https://github.com/deepakshrma/NodeJs-4.0-Reference-Guide/blob/master/nodejs-installer.sh
fonte
Solução simples a partir daqui
Você pode especificar a versão alterando o valor setup_x.x, por exemplo, para setup_5.x
fonte
Seu sistema não pode detectar o nó do caminho js binário.
1.que nó
2.Em seguida, o nó de link suave para o nójs
Estou assumindo que / usr / bin está no seu caminho de execução. Em seguida, você pode testar digitando node ou npm na linha de comando e tudo deve funcionar agora.
fonte
Desinstale a versão do nó que você possui
instale o nvm (Node Version Manager) https://github.com/creationix/nvm
Agora você pode instalar qualquer versão do nó que desejar e alternar entre as versões.
fonte
nvm
, observe que o pacote nodejs-legacy é v0.10.25. (ou pelo menos, é o que eu vi quando eu tentei.)Corrigi-o desvinculando / usr / sbin / node (que está vinculado ao pacote ax25-node), então criei um link para o nodejs usando isso na linha de comando
Como pacotes como karma não funcionam com o nome nodejs, no entanto, alteramos a primeira linha do script karma de node para nodejs, mas eu prefiro resolver esse problema de uma vez por todas
fonte
Para mim, a correção foi remover os pacotes node * e também os pacotes npm.
Em seguida, uma nova instalação como:
fonte
sudo apt-get autoclean
faz "o mesmo" quesudo apt-get install autoclean
O problema não está no instalador,
substitua o nodejs pelo nó ou altere o caminho de / usr / bin / nodejs para / usr / bin / node
fonte
Este é o nó em que não está instalado corretamente, primeiro você precisa desinstalar o nó e depois instalar novamente. Para instalar o nó, isso pode ajudar você http://array151.com/blog/nodejs-tutorial-and-set-up/
Depois disso, você pode instalar os pacotes facilmente. Para instalar os pacotes, isso pode ajudá-lo
http://array151.com/blog/npm-node-package-manager/
fonte
você pode criar um
ln -s nodejs
nó de link na/usr/bin
esperança de que isso resolva seu problema.fonte