我正在使用 Homebrew 在乾淨的 macOS Mojave 盒子上安裝節點。我正在嘗試在使用者擁有的目錄中設定 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 設定檔。