"Npm config set prefix" falla en el directorio propiedad del usuario en macOS Mojave

"Npm config set prefix" falla en el directorio propiedad del usuario en macOS Mojave

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 toolsya 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 prefixutilicé una cadena de ruta incorrecta. Tuve que eliminar manualmente el .npmrcarchivo y volver a intentar el set prefixcomando para que funcionara.

Sin embargo , realmente hubiera esperado set prefixpoder modificar los archivos de configuración npn creados por él mismo.

información relacionada