npmをローカルモジュールで使用する際に問題があります。メインプロジェクトのpackage.json
は本質的であるnpmローカルモジュールの依存関係をインストールする
package.json
local_module/
- package.json
- gulpfile.json
gulpfile.js
:
{
"dependencies": {
"local_module": "file:local_module"
},
"devDependencies": {
"gulp": "..."
}
}
ローカルモジュールのpackage.json
は基本的に次のとおりです。
{
"scripts": {
"prepublish": "gulp release"
},
"devDependencies": {
"gulp": "..."
}
}
私の意図を保つことによって私のプロジェクトのモジュラーを保つある私のプロジェクトの構造は次のようになりますlocal_module
を独自のパッケージとして使用して、メインプロジェクトの依存関係として使用します。メインプロジェクトでnpm install
を実行し、local_module
をnode_modules
から使用したいと考えています。ただし、local_module
は事前公開ステップを実行するためにgulp
がインストールされており、メインプロジェクトからnpm install
を実行すると、local_module
の依存関係はインストールされないため、gulpはインストールされないため、事前公開ステップは実行できません。
NPM doesn't install module dependenciesのようないくつかの質問がありましたが、多くは古いものであり、npmのバージョンが非常に多いため、明確な解決策が得られません。
事前公開の前にnpmにlocal_module
の依存関係をインストールするにはどうすればよいですか?メインプロジェクトのプレインストール手順を追加しようとしました。
"preinstall": "cd local_module && npm install"
しかし、NPMがメインプロジェクトのためのプリインストールを実行する前に、local_module
のprepublishステップを実行しようと思われます。私はローカルモジュールでnpm install
を実行する前に別のステップを取るのではなく、1つのnpm install
ステップでこれを行うソリューションが必要です。