複数の依存関係を持つnpmパッケージを変更しようとしています。など npm install -g .
の実行には時間がかかります。 packages.jsonから依存関係を削除する以外に他のオプションはありますか?
-no-optionalオプションがこのドキュメントに従って実装されました https://docs.npmjs.com/cli/install =:
The --no-optional argument will prevent optional dependencies from being installed.
the docs を見ると、--no-optional
スイッチ以外のオプションがないようです。
これは、SOタイトル付きQ&A: npm install
installs all project of my network、ifたとえネットワークがすでにインストールされているか、キャッシュから利用可能であっても は、 --skip-installed
スイッチがありますが、ドキュメントではこのスイッチを参照していません。
node_module
を自分で開発している場合は、npm install
sに時間を費やすのではなく、npm link
を使用してください。
つまり、npmが所有するグローバルフォルダーのモジュールフォルダーへのシンボリックリンクを作成し、アプリフォルダーでnpmにそのシンボリックリンクフォルダーを使用するように要求します。
これにより、モジュールフォルダーで行った変更がアプリにすぐに反映されます。
主な手順は次のとおりです(以下にリンクされているチュートリアルからコピーされています。重要な問題については、チュートリアルを必ずお読みください):
src/my_module
に移動npm link
」を実行します。これにより、グローバルフォルダーからsrc/my_module
フォルダーへのシンボリックリンクが作成されます。src/my_app
に移動npm link my_module
を実行します。これにより、この特定のプロジェクトのnode_modules/my_module
がグローバルフォルダーにリンクされ、require
がmy_module
を探して呼び出し、開発フォルダーsrc/my_module
からロードします。このチュートリアルを参照してください: http://justjs.com/posts/npm-link-developing-your-own-npm-modules-without-tears そしてnpm link
の公式ドキュメント:- https://docs.npmjs.com/cli/link
この機能は2010年にリクエストされましたが、不幸にも無視されて閉じられました: https://github.com/npm/npm/issues/34
私はたくさんのオプションを試しましたが、最終的には非常に単純な解決策を見つけました-doint npm installの前にpackage.jsonを別の名前に変更し、インストールが完了した後で元に戻します。
mv package.json package.bak
npm install <package_name> --no-save
mv package.bak package.json