[node.js] nvm은 npm 구성“접두사”옵션과 호환되지 않습니다.

다른 NodeJS 버전을 실행하려고 nvm하지만이 오류가 발생합니다.

$ nvm use v4.2.4

nvm is not compatible with the npm config "prefix" option:
   currently set to "/Users/z/.npm-global"
Run `npm config delete prefix` or `nvm use --delete-prefix v4.2.4` to unset it.

피하기 위해 내 접두어를 설정했습니다 sudo npm( https://docs.npmjs.com/getting-started/fixing-npm-permissions 참조 ).

nvm전체적으로 설치된 패키지의 접두사를 잃지 않고 사용할 수있는 방법이 있습니까?



답변

접두사 삭제 및 재설정

$ npm config delete prefix
$ npm config set prefix $NVM_DIR/versions/node/v6.11.1

참고 : 오류 메시지에 표시된 버전 번호로 버전 번호를 변경하십시오.

nvm은 npm config “prefix”옵션과 호환되지 않습니다. 현재 “/ usr / local”로 설정 됨 “npm config delete prefix”또는 “nvm use –delete-prefix v6.11.1 –silent”를 실행하여 설정을 해제하십시오.


Github의 @gabfiocchi에 대한 크레딧- “nvm 접두사를 덮어 써야합니다”


답변

나는 같은 문제가 있었고 실행 npm config delete prefix이 도움이되지 못했습니다.

그러나 이것은했다 :

brew를 사용하여 nvm을 설치 한 후 ~/.nvm디렉토리를 작성하십시오 .
$ mkdir ~/.nvm

다음 줄을 추가하십시오 ~/.bash_profile.

export NVM_DIR=~/.nvm
. $(brew --prefix nvm)/nvm.sh

(당신이 어떤에서 다른 NVM 관련 명령이 없는지 확인 ~/.bashrc하거나 ~/.profile또는~/.bash_profile )

새 터미널을 열고 이번에는 경고 메시지를 인쇄하지 않아야합니다. 명령
을 실행하여 nvm이 작동 중인지 확인하십시오 nvm --version.
그 후, NodeJS를 사용하여 설치 / 재설치nvm install node && nvm alias default node .

더 많은 정보

나는 설치 nvm하여 homebrew본 신고서를 가지고 이후 있음 :

업스트림은 Homebrew를 통한 nvm의 명시 적 관리를 지원하지 않기로했으며,보고하기 전에 표준 nvm 설치 방법과 비교하여 문제를 확인해야합니다.

NVM의 작업 디렉토리가 없으면 작성해야합니다.

 mkdir ~/.nvm

다음 ~/.bash_profile또는 원하는 쉘 구성 파일 을 추가 하십시오.

 export NVM_DIR=~/.nvm
 . $(brew --prefix nvm)/nvm.sh

$NVM_DIR임의의 위치로 설정할 수 있지만 변경하지 않은 상태로두면
/usr/local/Cellar/nvm/0.31.0업그레이드 / 재설치시 nvm 설치 노드 설치가 삭제됩니다.

그것을 무시하면이 오류 메시지가 나타납니다.

nvmnpm config“접두사”옵션 과 호환되지 않습니다 : 현재 설정 해제 를 위해 "/usr/local/Cellar/nvm/0.31.0/versions/node/v5.7.1"
실행 nvm use --delete-prefix v5.7.1 --silent으로 설정되어 있습니다.

이전 가이드 ( homebrew/nvm)를 따르고 나서 NodeJS를 다시 설치해야한다는 것을 알았습니다. 그래서 나는했다 :

nvm install node && nvm alias default node

그리고 그것은 고정되었습니다.

업데이트 :
brew를 사용하여 NVM을 설치하면 터미널이 느리게 시작됩니다. 당신은 할 수 있습니다 이 명령에 따라 이를 해결하기를.


답변

이는 노드의 로컬 설치와 충돌했을 수 있습니다 (과거 NVM 이외의 다른 방법으로 설치 한 경우). 이 노드 인스턴스를 삭제해야합니다.

  1. node_modules를 제거하십시오

    sudo rm -rf /usr/local/lib/node_modules
  2. 노드 제거

    sudo rm /usr/local/bin/node
  3. 노드 링크 제거

    cd /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm

nvm을 설치할 수없는 후


답변

이 오류는 NVM 설치 폴더 경로Symbolic Link 가 있을 때 발생할 수 있습니다 .

설명

NVM의 기본 설치 경로는 다음과 같습니다. $HOME/.nvm그러나 홈 폴더는 내 경우와 같은 다른 드라이브의 기호 링크 일 수 있습니다.

예를 들어, 내 홈 폴더는 다른 드라이브에 대한 심볼릭 링크입니다.

/home/myuser -> /bigdrive/myuser

접두사 문제가 발생합니다.

해결책

시작 스크립트 (.bashrc 또는 .zshrc 또는 기타)에서 NVM 폴더를 직접 경로로 변경하십시오.

예 : NVM_DIR="/bigdrive/myuser/.nvm".

.bashrc

export NVM_DIR="/bigdrive/myuser/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"


답변

를 통해 설치된 노드를 사용하는 동안 나는이 우연히 nvm함께, nvm사제를 통해 설치. 나는 실행하여 그것을 해결 brew uninstall nvm, rm -rf $NVM_DIR후 사용하여 NVM를 다시 설치 관계자는 스크립트를 설치 하고 내가 필요한 노드 버전을 다시 설치.

참고 : 나는 또한 $NVM_DIR마운트하고 심볼릭 링크했습니다. 나는 그것을 홈 디렉터로 다시 옮겼다.


답변

홈 디렉토리가 어딘가에 마운트되어 있으면 nvm이 symlink와 제대로 작동하지 않아서 문제가 될 수 있습니다. $ NVM_DIR이 어디에 있는지 상관하지 않기 때문에 이것을 실행하면 모든 것이 잘 작동합니다.

$ mv ~/.nvm /tmp/
$ export NVM_DIR="/tmp/.nvm"
$ nvm use --delete-prefix v6.9.1


답변

여기에 이미지 설명을 입력하십시오나는 같은 문제가 있었고 터미널을 사용할 때마다 정말 짜증났다. 터미널에 명령을 실행하고 고정되었습니다.

그 사람들을 위해 brew에서 nvm을 제거하십시오.

제거 nvm을 추출하는 것만으로는 충분하지 않을 수 있습니다.

npm 접두사가 여전히 / usr / local 인 경우이 명령을 실행하십시오.

sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}