Estou tentando instalar o node.js via Homebrew. Infelizmente, recebo este erro:
➜ ~ brew install node
==> Downloading http://nodejs.org/dist/v0.8.10/node-v0.8.10.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/node/0.8.10
==> make install
==> Caveats
Homebrew installed npm.
We recommend prepending the following path to your PATH environment
variable to have npm-installed binaries picked up:
/usr/local/share/npm/bin
Warning: Could not link node. Unlinking...
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
You can try again using `brew link node'
==> Summary
/usr/local/Cellar/node/0.8.10: 856 files, 13M, built in 103 seconds
Então, eu tento vincular o nó manualmente ...
➜ ~ brew link node
Linking /usr/local/Cellar/node/0.8.10... Warning: Could not link node. Unlinking...
Error: Could not symlink file: /usr/local/Cellar/node/0.8.10/lib/node_modules/npm/scripts/relocate.sh
Target /usr/local/lib/node_modules/npm/scripts/relocate.sh already exists. You may need to delete it.
To force the link and delete this file, do:
brew link -f formula_name
To list all files that would be deleted:
brew link -n formula_name
Sem sorte, então eu tento vincular com força o nó ...
➜ ~ brew link -f node
Linking /usr/local/Cellar/node/0.8.10... Warning: Could not link node. Unlinking...
Error: Permission denied - /usr/local/lib/dtrace/node.d
Não estou familiarizado com o dtrace em nenhum aspecto e tenho medo de mexer nas permissões, então tentei sudo ..
➜ ~ git:(master) sudo brew link -f node
Password:
Error: Cowardly refusing to `sudo brew link'
You can use brew with sudo, but only if the brew executable is owned by root.
However, this is both not recommended and completely unsupported so do so at
your own risk.
Tentei desinstalar o nó via brew uninstall node
e tentar novamente a instalação sem sorte.
Respostas:
O pacote homebrew para node.js agora inclui o npm novamente, então isso aconteceu comigo quando perdi a mensagem do pacote homebrew sobre como remover a versão autônoma primeiro.
Supondo que, como eu, você já tenha quebrado o nó / npm tentando a atualização antes de saber
npm uninstall npm -g
primeiro, é possívelrm -rf /usr/local/lib/node_modules/npm
e depoisbrew link node
. Isso remove o autônomo pacote npm auto-hospedado (ao invés de uma bebida gostaria de instalar) e permite bebida ligar simbolicamente sua empacotados um do Cellar.fonte
Eu corro o Mac OS X Mavericks. Tentei instalar o nó 0.10.25 e a resposta superior não funcionou para mim.
O natevw diz,
rm -rf /usr/local/lib/node_modules/npm
mas se as permissões/usr/local/lib/node_modules
aparecerem assim:o brew não poderá criar seu link simbólico npm nesse diretório. Aqui está a minha solução:
Etapa 1: atualizar o Homebrew
Etapa 2: Remova o nó / npm em qualquer lugar do sistema
Alguns desses comandos não são necessários, dependendo de como você instalou o node / npm no passado.
Nota: Eu tinha arquivos de nó disperso que encontrei executando
brew -v link node
(o que me deu a saída detalhada dos erros de vinculação que estavam reclamando). Pode ser necessário:Etapa 3: Abra um novo terminal e instale o nó
fonte
whoami
/ usr / molhofaria bem, conforme mencionado na solução de problemas do site de fermentação
https://github.com/Homebrew/homebrew/wiki/trou Resolução de problemas
fonte
sudo chmod -R g+w /usr/local
(embora honestamente, ambos mechgrp
comando.brew doctor
, mas eu prefirosudo su
, executar os comandos em seguida, fechar o terminalVocê provavelmente já instalou uma versão mais antiga do node.js usando um método diferente, portanto, é necessário remover manualmente os arquivos que estão atrapalhando o processo.
Você
brew link -n node
e excluir manualmente esses arquivos conflitantes e diretórios, então tentebrew link node
novamente.fonte
aspell
. Como encontro os arquivos e diretórios conflitantes?Estou um pouco atrasado, o que funcionou para mim foi o seguinte:
Tudo foi bem sucedido após esta sequência
fonte
sudo chmod 777
Essa nunca é a solução certa, se você estiver tendo problemas com permissões, investigue por que elas estão ocorrendo e defina o nível mínimo de permissões necessárias para realizar o trabalho. Este comando permitirá que o arquivo seja modificado por qualquer pessoa no sistema.brew link node
pela primeira vez.Tente isso. Obtive de outra referência e funcionou para mim.
fonte
brew postinstall node
foi o bilhetebrew link --overwrite node
e o comando final, tudo parece funcionar. O comando final que você sugeriu não funciona por causa do 'sudo. Em vez disso, usebrew postinstall node
Eu tive o mesmo problema depois de transferir todos os meus aplicativos do meu Mac antigo para o novo.
Encontrei a solução executando
brew doctor
:Depois de correr
brew prune
, Homebrew está finalmente de volta aos trilhos :)fonte
Meu problema teve uma solução ligeiramente diferente. O diretório em que o brew desejava criar os links simbólicos não era de propriedade do usuário atual.
ls -la /usr/local/bin/lib/node | grep node
produziu:Para mim, o seguinte corrigiu:
ps.
$(users)
será expandido para o seu nome de usuário, saiu um pouco do meu caminho para ajudar os usuários preguiçosos;)fonte
thx @suweller.
Corrigi o problema:
Eu tive o mesmo problema que morador:
então eu corrigi esse problema:
Depois de corrigir esse problema, recebi outro:
Então eu removi o node.d por:
obteve outro erro de permissão:
e consertou:
e finalmente tudo funcionou:
fonte
A maioria dos problemas de instalação do brew com o nó é causada por erros de permissão ou por ter o nó instalado anteriormente e, em seguida, tentar instalá-lo via brew. A solução que funcionou para mim finalmente foi:
AVISO: Isso desinstalará o nodejs (várias versões) com cuidado:
Remova o nó via distribuição:
nó de desinstalação do brew
também fez via força:
nó de desinstalação do brew --force
Para usar o script Origem: Remover nó :
curl -O https://raw.githubusercontent.com/DomT4/scripts/master/OSX_Node_Removal/terminatenode.sh
Então:
Então:
Em seguida, certifique-se de executar o seguinte comando:
chown $ USER / usr / local
Em seguida, faça uma atualização de preparação (continue fazendo isso até que todas as coisas sejam atualizadas):
atualização de fermentação
Limpe a mistura e execute a atualização novamente (pode ser redundante) e execute o médico para garantir que as coisas estejam no lugar:
limpeza de cerveja; atualização de fermentação; médico de fermentação
E, finalmente, instale o nó via brew (detalhado):
nó de instalação -v do brew
fonte
a resposta final: mude o proprietário desse diretório para quem você é
o que também é recomendado pela fermentação se você executar o médico de fermentação
fonte
Eu estava recebendo um erro enquanto a instalação que não pode vincular o nó e / usr / local / include não é gravável
A solução abaixo funcionou para mim: - Primeiro crie a pasta de inclusão, observe que isso requer privilégios de sudo
fonte
Também consegui atrapalhar meu NPM e instalar os pacotes entre essas versões do Homebrew, e não importa quantas vezes eu desvinculei / vinculei e desinstalei / instalei o nó, ele ainda não funcionou.
Como se vê, é necessário remover o NPM do caminho, caso contrário, o Homebrew não o instalará: https://github.com/mxcl/homebrew/blob/master/Library/Formula/node.rb#L117
Espero que isso ajude alguém com o mesmo problema e economize mais ou menos uma hora que eu tive que gastar procurando o problema ...
fonte
pelo localizador, exclua este arquivo:
no terminal:
então:
fonte
brew link --overwrite --dry-run node
, vejo o erroNo such keg: /usr/local/Cellar/node
. o que estou perdendo?Eu tentei todos os métodos e nenhum deles funciona. A maneira mais fácil é reinstalar o nó em https://nodejs.org/en/download/
Basta baixar
pkg
e instalar. Agora eu tenho um trabalhonpm
enode
novamente.fonte
Não sei, se é uma boa ideia ou não: Depois de tentar todas as outras soluções sem sucesso, renomeei / usr / local / lib / dtrace, vinculei o nó e renomeei o diretório novamente. Depois disso, o nó funcionou como esperado.
fonte
Eu estava lutando com isso por um tempo. (para mim "npm uninstall npm -g" não fez nada)
Eu tentei várias coisas:
Eu ainda estava tendo alguns problemas e estava recebendo erros quando tentei vincular os arquivos do nó
Finalmente eu tentei isso
Isso parecia ter consertado. (ele substitui todos os arquivos conflitantes e também vincula o nó ao npm)
Espero que isto ajude
fonte
Desinstalei completamente o brew e comecei novamente, apenas para encontrar o mesmo problema novamente.
O Brew parece funcionar, vinculando os binários necessários ao sistema, onde outros métodos de instalação normalmente copiam os arquivos.
Encontrei um conjunto existente de bibliotecas de nós aqui:
/usr/local/include/node
Depois de alguns arranhões na cabeça, lembrei-me de instalar o nó na data em relação a esta versão antiga e não tinha sido via fermentação.
Excluí manualmente toda essa pasta e vinculei com êxito o npm.
Isso explicaria por que o uso da desinstalação do brew ou mesmo a desinstalação do brew não tiveram efeito.
A resposta mais alta coloca isso de maneira muito simples, mas pensei em acrescentar minhas observações sobre o porquê disso ser necessário.
Suponho que vários problemas com outros pacotes de distribuição possam ser causados por instâncias antigas de pacotes que não são de distribuição que estão atrapalhando.
fonte
Estava destruindo minha cabeça no nó de ligação simbólica .. e nada parecia funcionar ... mas finalmente o que funcionou é definir as permissões corretas. Esse 'sudo chown -R $ (whoami) / usr / local' fez o trabalho para mim.
fonte
Corrigi isso no El Capitan usando o seguinte comando. Honestamente, não faço ideia do que faz, mas pensei em compartilhar, já que isso corrigia o meu problema.
fonte
Você precisa remover o pacote npm manualmente.
primeiro nó de desvinculação:
brew link -n node
remova a pasta npm:
rm -R /usr/local/Cellar/node/0.8.10/lib/node_modules/npm
link novamente:
brew link node
haverá um link para o novo local da npm
fonte