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.