sudo를 통해 루트로 요청할 때 NVM 및 최신 LTS를 설치했음에도 불구하고 노드가 이전 버전을 보고하는 이유는 무엇입니까?

sudo를 통해 루트로 요청할 때 NVM 및 최신 LTS를 설치했음에도 불구하고 노드가 이전 버전을 보고하는 이유는 무엇입니까?

사용자 를 위해 NVM 및 최신 LTS 노드를 설치하기 전에 foo:

foo@ubuntu: which node
/usr/bin/node
foo@ubuntu: node --version
v12.22.1

NVM 및 최신 LTS 노드를 설치한 후:

foo@ubuntu: which node
/home/foo/.nvm/versions/node/v14.16.1/bin/node
foo@ubuntu: node --version
v14.16.1

그렇다면 다음과 같이 요청할 때 노드가 여전히 이전 버전을 보고하는 이유는 무엇입니까?뿌리sudo를 통해?

root@ubuntu: sudo -u foo which node
/usr/bin/node
root@ubuntu: sudo -u foo node --version
v12.22.1

답변1

나는 당신이 루트이고 foo를 sudo할 때 foo의 PATH를 최신 버전으로 소싱하지 않기 때문이라고 믿습니다.

이것을 테스트하고 수정하려면 다음과 같이 하십시오.

뿌리

echo $PATH

foo로

echo $PATH

루트의 .bashrc 추가에서 수정하려면 /home/foo/.nvm/versions/node/v14.16.1/bin/node

관련 정보