macOS Mojave의 사용자 소유 디렉터리에서 "npm config set prefix"가 실패함

macOS Mojave의 사용자 소유 디렉터리에서 "npm config set prefix"가 실패함

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 구성 파일을 수정할 수 있을 것으로 기대했습니다 .

관련 정보