npm 링크를 사용하여 설치된 패키지를 어떻게 제거합니까?


162

sudo npm link패키지의 디렉토리를 사용하여 노드 패키지를 설치할 때 개발이 끝나면 패키지를 어떻게 제거 할 수 있습니까?

npm link패키지를 시스템의 전역 패키지 위치 ( '/ usr / local / lib`)에 심볼릭 링크로 설치합니다. 이를 통해 계속해서 설치하지 않고도 패키지를 개발하면서 테스트 할 수 있습니다.

링크를 다시 제거하려면 어떤 npm 명령을 실행해야합니까?

답변:


166

설치된 패키지를 제거하는 데 사용할 수있는 동일한 uninstall 또는 rm 명령을 사용하여 패키지를 설치 제거 할 수 있습니다. 유념해야 할 것은 링크를 전체적으로 제거 --global해야한다는 것입니다. 플래그를 제공해야합니다.

글로벌 링크 된 foo패키지 를 설치 제거하기 위해 다음 명령을 사용할 수 있습니다 ( sudo설정 및 권한에 따라 필요한 경우 사용)

sudo npm rm --global foo

패키지가 제거됩니다.

패키지가 설치되어 있는지 확인하려면 다음 npm ls명령을 사용할 수 있습니다.

npm ls --global foo

5
링크 된 패키지의 이름을 모르는 경우 npm ls --global --depth 0모든 최상위 종속성을 나열 할 수도 있습니다.
schu34

1
사용 권한 문제로 인해이 기능이 작동하지 않았습니다 sudo. and 필드 가있는 더미 package.json로 누락 된 디렉토리를 만들었습니다 ( 패키지 이름과 일치해야 함 ). 그 폴더 안에서 나는 달렸다 . nameversionnameversionnpm link && npm unlink
silvenon

npm uninstall로컬 라이브러리 폴더에서 작동합니다.
백 슬래시

132

unlink심볼릭 링크를 제거하는 데 사용할 수 있습니다 .

예를 들어 :

cd ~/projects/node-redis 
npm link                 
cd ~/projects/node-bloggy
npm link redis             # links to your local redis

package.json에서 다시 설치하려면

npm unlink redis
npm install

https://www.tachyonstemplates.com/npm-cheat-sheet/#unlinking-a-npm-package-from-an-application


4
되지는 unlink동일한 rm에 대한 npm? 그들은 같은 매뉴얼 페이지를 공유합니다 uninstall.
nwinkler

1
@nwinkler 링크를 공유 할 수 있습니까?
블레어 앤더슨

12
npm 소스 코드는 rm, unlink, remove, r 및 un을 제거를위한 별명으로 사용합니다 : github.com/npm/npm/blob/…-66ff 행 참조.
nwinkler

이 답변의 맨 아래에있는 링크는 나를 위해 죽었습니다.
Liron Yahdav

npm i어쨌든 모든 링크를 제거 하지 않습니까?
Toivo Säwén

19

npm 링크 통증 :

모듈 이름 펄프 작업

프로젝트 이름 project-x


gulp-task 를 연결하고 싶습니다 :

1 : gulp-task 디렉토리로 이동 한 다음 npm link프로젝트를 전역 모듈에 연결합니다.

2 : 프로젝트 project-x 로 이동 한 다음 npm install현재 node_modules 디렉토리를 제거하십시오


이제이 광기를 제거하고 실제 gulp-task를 사용하려고합니다 . 두 가지 옵션이 있습니다.

옵션 1 : npm을 통한 연결 해제 :

1 : 프로젝트로 이동 npm unlink gulp-task하면 연결된 설치된 모듈이 제거됩니다.

2 : gulp-task 디렉토리로 이동하여 npm unlinksymlink를 제거하십시오. 모듈 이름을 사용하지 않았습니다.

3 : 축하


이것이 작동하지 않으면 전역 설치 모듈을 찾아서 확인하십시오. 내 위치 ls -la /usr/local/lib/node_modules/nvm 을 사용 하는 경우 다른 경로입니다.


옵션 2 : 일반적인 리눅스 전문가처럼 심볼릭 링크 제거

1 : 글로벌 종속성 찾기 cd /usr/local/lib/node_modules/

2 : symlink 제거는 단순히 다음 rm명령을 사용합니다

rm gulp-task /마지막에 없는지 확인하십시오

rm gulp-task/ 잘못되었습니다 🔥🚨

rm gulp-task ✔️


일반 작업을 수행하면 프로젝트의 모든 패키지가 npm-unlink제거되었습니다 .
cst1992

2

실수로 같은 짓을했는지 경우 npm link당신이 그것을 변경 한 후 발전기 웹 애플리케이션을, 당신은 바로 발전기를 복제하고 연결하여 문제를 해결할 수있는 것을 .

git clone https://github.com/yeoman/generator-webapp.git;
# for fixing generator-webapp, replace with your required repository
cd generator-webapp;
npm link;

0

"npm install"은 "npm link"로 설치된 node_modules의 모든 종속성을 npmjs (package.json에 지정) 버전으로 대체합니다.

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