Estoy instalando node en una caja limpia de macOS Mojave usando Homebrew. Estoy intentando configurar el directorio de instalación de npm en un directorio propiedad del usuario; el directorio tools
ya existe y es propiedad del usuario:
npm config set prefix '/Users/giorgio/tools/npm_global'
Y eso falla con este mensaje. ¿Alguien sabe qué está pasando?
Error: EACCES: permission denied, mkdir '/tools'
TypeError: Cannot read property 'loaded' of undefined
at exit (/usr/local/lib/node_modules/npm/lib/utils/error-handler.js:98:27)
at errorHandler (/usr/local/lib/node_modules/npm/lib/utils/error-handler.js:216:3)
at /usr/local/lib/node_modules/npm/bin/npm-cli.js:78:20
at cb (/usr/local/lib/node_modules/npm/lib/npm.js:225:22)
at /usr/local/lib/node_modules/npm/lib/npm.js:263:24
at /usr/local/lib/node_modules/npm/lib/config/core.js:83:7
at Array.forEach (<anonymous>)
at /usr/local/lib/node_modules/npm/lib/config/core.js:82:13
at f (/usr/local/lib/node_modules/npm/node_modules/once/once.js:25:25)
at afterExtras (/usr/local/lib/node_modules/npm/lib/config/core.js:173:20)
/usr/local/lib/node_modules/npm/lib/utils/error-handler.js:98
var doExit = npm.config.loaded ? npm.config.get('_exit') : true
^
TypeError: Cannot read property 'loaded' of undefined
at exit (/usr/local/lib/node_modules/npm/lib/utils/error-handler.js:98:27)
at process.errorHandler (/usr/local/lib/node_modules/npm/lib/utils/error-handler.js:216:3)
at process.emit (events.js:197:13)
at process._fatalException (internal/process/execution.js:123:25)
Respuesta1
Encontré una solución de forma bastante aleatoria. Parece que la primera vez que lo intenté set prefix
utilicé una cadena de ruta incorrecta. Tuve que eliminar manualmente el .npmrc
archivo y volver a intentar el set prefix
comando para que funcionara.
Sin embargo , realmente hubiera esperado set prefix
poder modificar los archivos de configuración npn creados por él mismo.