Open6

npm link について調べる

NeGINeGI

自作のpackageを作るときに便利なコマンド。
publickなpackageとして公開しなくても、別のプロジェクトから公開されたpackageと同じように参照することが可能になる。

NeGINeGI

例えば

  • my-package:パッケージ用のブロジェクト
  • my-app:package-libを参照したい

という2つのプロジェクトあったとする

NeGINeGI

パッケージを提供する側

cd /path/to/my-package
npm link

npm link を実行すると npm のグローバルインストールされるパッケージの保存先にシンボリックリンクが作成される

npm ls --global
#├── my-package@0.0.0 -> ./../my-package
NeGINeGI

パッケージを使う側

cd /path/to/my-app
npm link my-package

npm link my-package を実行すると、node_modulesmy-package のシンボリックリンクが作られる

cd my-app/node_modules
ls -l
# lrwxr-xr-x@ 1 negishi.tetsuya  staff  16 Dec 27 15:40 my-package@ -> ../../my-package 

下のようにimportできるようになる

import myPackage from 'my-package'
NeGINeGI

npm link したものを削除する手順

cd my-app
npm unlink my-package

npm rm -g my-package