Fixnutie problému s node.js a npm na macOS cez Homebrew



Pohodlie Homebrew na Apple macOS láka k inštalácii node a npm príkazom brew install node. Všetko parádne funguje pokiaľ nepríde na aktualizáciu npm, ktorá dopadne nejako takto:

npm ERR! Darwin 16.3.0  
npm ERR! argv "/usr/local/Cellar/node/7.3.0/bin/node" "/usr/local/bin/npm" "-g" "update"  
npm ERR! node v7.3.0  
npm ERR! npm  v4.0.5  
npm ERR! path /usr/local/lib/node_modules/.staging/async-9e29ad19  
npm ERR! code ENOENT  
npm ERR! errno -2  
npm ERR! syscall rename  

Riešením je nainštalovať len node bez npm a to následne ako samostatnú binárku. Keďže ide o deštruktívny proces určite si prejdite a odložte globálne nainštalované balíčky npm list -g –depth=0.

Odstránenie existujúcich modulov

# rm -rf /usr/local/lib/node_modules

Odinštalovanie node.js

# brew uninstall node

Inštalácia node.js bez npm

# brew install node –without-npm
# echo prefix=~/.npm-packages >> ~/.npmrc

Inštalácia npm

# curl -L https://www.npmjs.com/install.sh | sh

Nakoniec si nezabudnite do ~/.bash_profile pridať cestu k samotnej binárke npm

export PATH="$HOME/.npm-packages/bin:$PATH"  

Teraz je všetko nainštalované ako treba a môžete skúsiť aktualizovať samotné npm príkazom npm update npm -g. Ak by sa objavila chyba

npm ERR! addLocal Could not install /private/var/folders/...  

Tak stačí zadať npm install -g npm@latest a už je všetko OK.

Staň sa fanúšikom

TOPlist TOPlist