2015-11-05 10 views
10

私はNPMにパブリッシュするパッケージAをオーサリングしています。NPM:npmパッケージのネストされたオプションの依存関係をインストールしないでください。

AはパッケージBに依存しています。これはパッケージCに依存しています。Cは2つのオプションのネイティブ依存関係DとEを持っています。私は明確に分かっています。オプションの依存関係DとE、誰かが私のパッケージをインストールしたときに、それらを試してインストールしないでください。

私は、コマンドnpm install A --no-optional -gを使用して、オプションの依存関係なしでパッケージをインストールできますが、これはパッケージのコンシューマーではなくむしろ知識/オーバーヘッドになります。

パッケージAのコンシューマがちょうどnpm install Aまたはnpm install -g Aであり、オプションの依存関係がインストールされないnpm設定または回避策はありますか?

おかげ

答えて

3
npm install A --no-optional 

すべてが動作するかどうかを確認するためのテスト。

npm list 

エラーがないことを確認してください。

npm shrinkwrap 

これは、パッケージの依存関係をロックダウンします。

npm installを実行すると、依存関係をインストールする前にnpm-shrinkwrap.jsonが検索されます。

詳細はこちらhttps://docs.npmjs.com/cli/shrinkwrap