Я устанавливаю node на чистую коробку macOS Mojave с помощью Homebrew. Я пытаюсь установить каталог установки npm в каталоге, принадлежащем пользователю; каталог tools
уже существует и принадлежит пользователю:
npm config set prefix '/Users/giorgio/tools/npm_global'
И это не срабатывает с этим сообщением. Кто-нибудь знает, что происходит?
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)
решение1
Решение нашлось довольно случайно. Похоже, в первый раз, когда я пытался, set prefix
я использовал неправильную строку пути. Мне пришлось вручную удалить файл .npmrc
и повторить set prefix
команду, чтобы она заработала.
Хотя я действительно ожидал, set prefix
что смогу изменять файлы конфигурации npn, созданные им самим.