npm-link
Symlink a package folder
Synopsis
npm link (in package dir)
npm link [<@scope>/]<pkg>[@<version>]
alias: npm ln
Description
팩키지 링크는 두 단계로 이루어져있습니다.
먼저, 팩키지 폴더 내에서의 npm link
는 글로벌로 설치된 prefix/package-name
에 대한 심볼릭 링크를 현재 디렉터리에 생성합니다. (prefix
에 대해서는 npm-config를 참조)
다음, 다른 위치의 경우에 npm link package-name
은 로컬 node_moduels
폴더에서 글로벌 실볼릭 링크에 대한 심볼릭 링크를 생성합니다.
디렉터리 이름이 아닌 package.json
으로 부터 package-name
을 가져옵니다.
팩키지의 이름은 스코프를 포함할 수 있습니다. 이 스코프는 @
기호로 시작해야하며 /
로 끝나야합니다.
npm publish
로 압축파일을 생성할때, 링크된 팩키지에 대해서는 심볼릭 링크로 연결된 현재 상태 그대로 스냅샷이 만들어집니다.
한 번 만들어진 팩키지를 다시 빌드할 필요없이 반복하여 사용할 수 있으므로 자신의 팩키지로 작업할 때 편리할 수 있습니다.
예를 들어
cd ~/projects/node-redis # go into the package directory
npm link # creates global link
cd ~/projects/node-bloggy # go into some other package directory.
npm link redis # link-install the package
이제 ~/projects/node-redis
에 어떤 변경이 생기면 ~/projects/node-bloggy/node_modules/node-redis/
에 반영됩니다. 이 링크는 반드시 디렉터리 이름이 아닌 팩키지 이름이어야만 합니다.
두 단계의 과정을 하번의 과정으로 만들 수 있습니다. 예를 들어 위의 예의 경우 간단히 다음과 같이 할 수 있습니다.
cd ~/projects/node-bloggy # go into the dir of your main project
npm link ../node-redis # link the dir of your dependency
두 번째 줄의 명령은 다음과 동일합니다.
(cd ../node-redis; npm link)
npm link node-redis
이 것은 먼전 글로벌 링크를 만들고 글로벌 설치 타겟을 여러분의 프로젝트의 node_modules
폴더에 링크합니다.
스코프된 팩키지를 링크하려면, 링크 명령어에 반드시 스코프를 포함시켜야합니다.
npm link @myorg/privatepackage