
複数の依存関係を持つ npm パッケージを変更しようとしています。そのため、npm install -g .
実行に時間がかかります。packages.json から依存関係を削除する以外に、他のオプションはありますか?
答え1
--オプションなしオプションはこのドキュメントに従って実装されましたインストール:
The --no-optional argument will prevent optional dependencies from being installed.
答え2
自分で開発している場合はnode_module
、 に時間を無駄にせずnpm install
、代わりに を使用してくださいnpm link
。
つまり、npm が所有するグローバル フォルダー上のモジュール フォルダーへのシンボリック リンクを作成し、アプリ フォルダーで npm にそのシンボリック リンク フォルダーを使用するように指示します。
これにより、モジュール フォルダーで行った変更がアプリにすぐに反映されます。
主な手順は次のとおりです (下記のリンク先のチュートリアルからコピーしたものです。重要な点については必ずチュートリアルをお読みください)。
- cd に
src/my_module
- 「
npm link
」を実行します。これにより、グローバル フォルダーからsrc/my_module
フォルダーへのシンボリック リンクが作成されます。 - cd に
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/リンク
答え3
この機能は 2010 年にリクエストされましたが、残念ながら無視され、閉じられました。翻訳元: github.com/npm/npm/issues/340
さまざまなオプションを試した結果、非常に簡単な解決策が見つかりました。npm install を実行する前に package.json の名前を別の名前に変更し、インストールが完了したら元に戻すというものです。
mv package.json package.bak
npm install <package_name> --no-save
mv package.bak package.json
答え4
見渡すドキュメントスイッチ以外のオプションはないようです--no-optional
。
未テスト/未確認
この SO Q&A のタイトル:npm install
すでにインストールされているかキャッシュから利用できる場合でも、プロジェクトのすべての依存関係をネットワーク経由でインストールします。スイッチがあることを示唆しているように見えます--skip-installed
。しかし、ドキュメントではこのスイッチについて何も言及されていません。