Node.js

Paquetes globales de Node.js en macOS Mojave

Cómo reinstalar Node con Homebrew y un prefijo de npm propio para que los paquetes globales (como express-generator) sí aparezcan en el PATH.

BinniCloud Team

Oct 20, 2019 · 6 min read

Paquetes globales de Node.js en macOS Mojave

Instalar Node.js en macOS Mojave con Homebrew es sencillo, pero a veces fallan los permisos de los paquetes globales. En nuestro caso el comando express no existía después de instalar express-generator.

Antes de continuar: anota los paquetes globales que tengas instalados. Los siguientes comandos los van a borrar.

Reinstalar Node y npm

terminalNode_ID: macos-01
rm -rf /usr/local/lib/node_modules
brew uninstall node
brew install node --ignore-dependencies
echo prefix=~/.npm-packages >> ~/.npmrc
curl -L https://www.npmjs.com/install.sh | sh

Incluir npm en el PATH

~/.zshrcNode_ID: macos-02
export PATH="$HOME/.npm-packages/bin:$PATH"

Después de recargar la shell, volvimos a instalar Express:

terminalNode_ID: macos-03
npm install -g express
npm install -g express-generator

Con el prefijo en ~/.npm-packages, los binarios globales quedan en un directorio que sí controlas tú, sin pelearte con /usr/local.

Referencias: el gist de Dan Herbert sobre npm + Homebrew, y la guía de migración de Express 4.