自作パッケージのローカルテストにおけるいくつかのアプローチ:npm link - DEV コミュニティ
この記事は一連の記事の一部です:
- ローカルファイルのリンク
- npm link
- npm yalc
- Verdaccio
- Relative deps
npm link
これは非常に簡単で直截的なソリューションです。このnpmコマンドは、パッケージフォルダへのシンボリックリンクを作成します。
自分のローカルライブラリを使用できるようにするには、次の2つの簡単な手順を踏む必要があります:
-
まず、ローカルパッケージフォルダのルートで
npm link
を実行します。これにより、グローバルフォルダの{prefix}/lib/node_modules/<package>
に、npm linkコマンドが実行されたパッケージにリンクするシンボリックリンクが作成されます。また、パッケージ内の任意のバイナリが{prefix}/bin/{name}
にリンクされます。{prefix}
はオペレーティングシステムによって異なるnpm変数です。現在の値を特定のケースで知るには、npm prefix –g
を実行できます。一連の記事の最初の部分の例に従って:
my-fancy-libraryというフォルダに
@ks/my-fancy-library
という名前のローカルパッケージ(package.json
ファイルのname属性で定義されている)があると想像しましょう。
$ npm prefix –g
$ /Users/inigo/.nvm/versions/node/v16.13.1
$ cd my-fancy-library
$ npm link
これにより、以下の場所にシンボリックリンクが作成されます:

2. 次に、ローカルパッケージを使用したいプロジェクトのルートフォルダで`npm link <package-name>`を実行します。これにより、グローバルにインストールされたpackage-nameから現在のフォルダの`node_modules/`へのシンボリックリンクが作成されます。
```
$ cd my-awesome-project # 我々がパッケージを使用したいプロジェクトのルートフォルダ
$ npm link @ks/my-fancy-library
これにより、`node_modules`フォルダにシンボリックリンクが作成されます。

そして、私たちのプロジェクトmy-awesome-project
から、ローカルライブラリ@ks/my-fancy-library
をインポートして使用できるようになります。
🚨 重要
これらのコマンドを実行するとき、使用される現在のnodeバージョンが考慮されます。異なるnode環境でライブラリをテストしたい場合は、各nodeバージョンごとにプロセスを繰り返す必要があります。
こちらの記事はdev.toの良い記事を日本人向けに翻訳しています。
https://dev.to/one-beyond/different-approaches-to-testing-your-own-packages-locally-npm-link-4hoj