최신 Ubuntu (18.04) 설치에서 NPM이 잘못된 버전입니다.


18

일반적인 설치는 sudo apt install nodejsNode.js sudo apt install npm를 설치 한 다음 Node Package Manager를 설치하는 것입니다. 그러나 그렇게 할 때에 npm -v말합니다 3.5.2. 정상적으로 업그레이드하려면 sudo npm install -g npm최신 버전으로 업데이트합니다 (이 기사를 작성할 당시의 버전은 6.0.1).

내가 할 때 , 그러나 which npm나는 에 심볼릭 링크를 설치한다 . 내가 경우 NPM을 제거하기 위해, 그것은 여전히에서 NPM의 NPM 버전을 잎 그러나 말한다 ./usr/local/bin/npmapt/usr/bin/npmsudo apt purge npm/usr/local/bin/npmnpm -v-bash: /usr/bin/npm: No such file or directory

많은 기사에서 PJ를 사용하여 nodejs를 설치한다고하지만,이를 통해 기본 방법이 있어야한다고 생각합니다 apt.

일반적으로 PPA를 통한 설치에 대한 DigitalOcean 지침 : https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-18-04

PPA를 통한 설치에 대한 TecAdmin 지침 : https://tecadmin.net/install-latest-nodejs-npm-on-ubuntu/

답변:


31

TLDR : 이 문제는 Bashnpm명령 경로캐싱하여 발생하며 로 해결할 수 있습니다 hash -d npm. apt purge원하지 않으면 다루지 않아도 됩니다.

설명

npm우분투 에서 새 버전 을 얻는 단계는 다음과 같습니다 . 먼저 OP에 설명 된대로 설치를 수행하십시오.

$ sudo apt-get install npm
(...apt installation of npm was successful...)
$ npm -v
3.5.2
$ command -v npm
/usr/bin/npm
$ sudo npm install -g npm
(...npm installation of npm was successful...so far, so good)

새 버전이에서 제대로 작동 /usr/local/bin/npm하지만 불행히도 Bash 캐시에는 여전히 다음이 있습니다 /usr/bin/npm.

$ /usr/local/bin/npm -v
6.4.1
$ npm -v
3.5.2
$ command -v npm
/usr/bin/npm
$ type npm
npm is hashed (/usr/bin/npm)

문제를 해결하려면 Bash 캐시에서 문제를 해결하십시오 (모든 열린 셸에서 수행).

$ hash -d npm

이제 새 버전이 원하는대로 작동합니다.

$ npm -v
6.4.1
$ command -v npm
/usr/local/bin/npm

1
나는 실제로이 답변을 내 자신보다 더 좋아한다.
Blairg23

이것은 내 문제를 해결했습니다. 정말 고맙습니다. 훌륭한 설명도 있습니다. 나에게 분명하지 않은 한 가지는 bash 캐시를 지우면 문제가 해결되는 정확한 특성입니다. 에 npm저장된 것을 삭제하는 것이 더 좋지 /usr/bin/npm않습니까? 두 버전이 모두 설치된 상태에서 bash 캐시를 지운 후 올바른 버전을 선택하는 이유는 무엇입니까?
temporary_user_name

12

내가 찾은 방법은 npm을 제거 sudo apt purge npm하고를 통해 전역 설치에 대한 심볼릭 링크를 다시 작성하는 것 ln -s /usr/local/bin/npm /usr/bin/npm입니다. 수정 후 예상대로 npm -v리턴 6.0.1됩니다.


2
Android 6.0.1 에서 UserLAnd 를 통해 실행되는 Ubuntu 18.04와 함께 작동했습니다 . 감사합니다! :)
l3l_aze

1
OP 당신은 이것을 답변으로 표시해야합니다.
Robert Munn

이상하게도 저에게는 꽤 달랐습니다. 에 업데이트 된 버전이 /usr/bin/npm있으므로를 사용하여 반대 경로로갔습니다 ln -s /usr/bin/npm /usr/local/bin/npm. 이상하지만 귀하의 답변으로 잘못된 버전 문제를 해결하는 방법을 찾을 수있었습니다.
LordAnomander

2

설치된 npm 버전을 제어하려면 항상 nvm(노드 버전 제어)를 사용하십시오. https://github.com/creationix/nvm 다음 지침에 따라 설치할 수 있습니다. 그런 다음 컴퓨터에 최신 npm을 설치하십시오.

nvm install node

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.