依存関係なしでnpmパッケージをインストールするオプションはありますか?

依存関係なしでnpmパッケージをインストールするオプションはありますか?

複数の依存関係を持つnpmパッケージを変更しようとしています。だからnpm install -g .実行するのに長い時間がかかります。 packages.jsonから依存関係を削除する以外に他のオプションはありますか?

答え1

--オプションなし次に、この資料に従ってオプションを実装してください。https://docs.npmjs.com/cli/install:

The --no-optional argument will prevent optional dependencies from being installed.

答え2

あなた自身を開発する場合は、node_modulesに時間を無駄にしないでnpm installくださいnpm link

つまり、npmが所有するグローバルフォルダにモジュールフォルダを指すシンボリックリンクを作成し、アプリケーションフォルダでnpmにそのシンボリックリンクフォルダを使用するように要求します。

これにより、モジュールフォルダで行った変更をすぐにアプリケーションに反映できます。

主な手順は次のとおりです(以下のリンクされたチュートリアルからコピーしました。重要な問題を理解するためにチュートリアルを読んでください)。

  1. CDsrc/my_module
  2. 走る" npm link"。これにより、グローバルフォルダからこのフォルダへのシンボリックリンクが作成されますsrc/my_module
  3. CDsrc/my_app
  4. ランニング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 linkhttps://docs.npmjs.com/cli/link

答え3

この機能は2010年にリクエストされましたが、残念ながら無視して終了しました。https://github.com/npm/npm/issues/340

私は多くのオプションを試してみましたが、ついに非常に簡単な解決策を見つけました。 npmインストールを実行する前に、package.jsonの名前を別の名前に変更し、インストールが完了したらそれを復元します。

mv package.json package.bak
npm install <package_name> --no-save
mv package.bak package.json

答え4

裏返す文書スイッチ以外には代替手段がないようです--no-optional

テストされていない/確認されていません

この質問と回答は次のとおりです。npm installすでにインストールされている場合、またはキャッシュで利用可能な場合でも、ネットワーク経由でプロジェクト内のすべての依存関係をインストールします。スイッチがあるようです--skip-installed。ただし、ドキュメントにはこのスイッチは記載されていません。

関連情報