2016-02-07 12 views
11

Ho provato a correggere l'errore in cui devi usare sudo quando esegui npm. Ho seguito ciecamente un collegamento per disinstallare il nodo, il codice era da questo gistIl nodo è già installato, è solo non collegato

Dopo aver eseguito il comando, ho provato a reinstallarlo con brew: brew install node. Che mi ha dato il seguente errore:

Error: The `brew link` step did not complete successfully 
The formula built, but is not symlinked into /usr/local 
Could not symlink share/doc/node/gdbinit 
/usr/local/share/doc/node is not writable. 

You can try again using: 
    brew link node 

Cercando di correre brew link node, ho ottenuto:

Linking /usr/local/Cellar/node/5.4.0... 
Error: Could not symlink share/systemtap/tapset/node.stp 
/usr/local/share/systemtap/tapset is not writable. 

Poi quando scrivo brew install npm, ottengo:

Warning: node-5.4.0 already installed, it's just not linked 

Quando scrivo npm -v I get:

env: node: No such file or directory 

Qualche idea su come risolvere questo?

+0

Questo gist è progettato per l'installazione pkg, non Homebrew. Potresti provare a rimuovere il nodo con 'brew remove node', quindi reinstallarlo. –

+0

@ AlexanderO'Mara L'ho inizialmente installato con il programma di installazione pkg, quindi ho provato con brew. L'esecuzione di 'brew remove node' non ha funzionato. Installare ancora brew dà ancora l'errore di collegamento – Ela

+0

Eseguire 'brew doctor' e vedere quali avvertenze si ottengono. Sembra che le autorizzazioni possano essere state modifiche. Vorrei anche provare a cancellare manualmente la cartella '/ usr/local/Cellar/node /' se l'hombrew non può rimuoverlo. –

risposta

26

Sono riuscito a risolvere questo prima eseguendo sudo chown -R $USER /usr/local e seguendolo con brew link node. Ora ho il nodo installato correttamente.

+0

dopo aver eseguito questo non dovresti riportare la proprietà in root con 'sudo chown -R root/usr/local'? sembra che quella directory non dovrebbe essere lasciata sotto l'utente – dougmacklin

2

Ho avuto lo stesso problema quando ero brew link jq ma riferendosi a /usr/local/lib is not writable. In una delle mie macchine non ho potuto applicare il suggerimento di Ela. Ho fatto sudo chmod 776 /usr/local/lib quindi ho fatto brew link jq che ha avuto successo e poi lo ho cambiato di nuovo in sudo chmod 755 /usr/local/lib.

5
  1. sudo chown -R $ USER/usr/local collegamento
  2. birra nodo --overwrite
0

Utilizzare il seguente codice per risolvere il problema. (E 'una combinazione delle soluzioni di cui sopra, ma questo funziona!)

  1. sudo chmod 776 /usr/local/lib
  2. brew link --overwrite node

    Outputs: Linking /usr/local/Cellar/node/9.6.1... 49 symlinks created

  3. sudo chmod 755 /usr/local/lib
0

Change/usr/il permesso locale per l'utente :

sudo chown -R $USER /usr/local 

Poi gestita birra postinstall:

brew postinstall node 

Ora il gioco è fatto. Per controllare:

npm -v 

passo in più: correre medico infusione per scopo

brew doctor 

pulizia Potrebbe essere necessario potare alcune cose in più vecchio, se il medico lo trova.

Problemi correlati