npm-link

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

results matching ""

    No results matching ""