
Estou tentando atualizar minha versão do nó para a versão estável mais recente.
Usandoeste recursoEu fui capaz de:
sudo npm install n -g
Mas quando eu tento
sudo npm n stable
Eu recebo:
sudo: n: command not found
Se eu executar n stable
, o comando estará presente:
n stable
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
install : node-v0.12.2
mkdir : /usr/local/n/versions/node/0.12.2
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
Error: sudo required
Responder1
Encontrei uma solução que funcionou para mim:
sudo -E env "PATH=$PATH" n stable
Encontrei aqui:https://stackoverflow.com/a/29400598/861615
Responder2
Surpreendentemente, sua npm
instalação possui o prefixo global em uma pasta chamada npm
em seu diretório inicial, isso significa que qualquer pacote instalado com o -g
sinalizador será instalado nesta pasta.
Você pode alterar esta pasta para qualquer pasta que esteja no sudo
caminho seguro seguindo estas etapas:
Maneira gráfica:
- Abra um gerenciador de arquivos (também conhecido como Nautilus).
- Navegue até sua pasta pessoal.
- Pressione Ctrl+ Hpara mostrar arquivos ocultos.
- Abra um arquivo chamado
.npmrc
com seu editor de texto favorito. Encontre uma linha nesse arquivo com este conteúdo:
prefix=/home/<your_username>/npm
- Substitua
/home/<your_username>/npm
por um caminho seguro (como/usr/local/bin
). Depois de substituído, ficará assim:
prefix=/usr/local/bin
- Salve o arquivo.
- Corra novamente
sudo npm install n -g
Maneira terminal:
Execute este comando:
sed -i.bak "s%^prefix=.*$%prefix=/usr/local/bin%" ~/.npmrc
Responder3
Eu sei que este é um fórum do Ubuntu, mas tenho certeza que isso ajudará alguém com o mesmo problema nos sabores RHEL que pesquisou aqui no Google como eu. Talvez também funcione no Ubuntu.
ln -s /usr/local/bin/n /usr/bin/n
Responder4
Para evitar bagunçar a .npm-global
pasta comoobservadopor @Edson Horacio Junior, e baseado em @pohestresponder, aqui está como eu consertei:
sudo ln -s /home/<username>/.npm-global/bin/n /usr/local/bin/n
sudo n --version # test it
Como observação, isso provavelmente não funcionará se você não tiver seguido as etapas do npm paraalterando o diretório global padrão.