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


20

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

回答:



7

ドキュメントを見ると、--no-optionalスイッチを超えるオプションはないようです。

未テスト/未確認

このSO Q&A npm installは、プロジェクトのすべての依存関係をネットワーク経由でインストールします。既にインストールされているか、キャッシュから利用できる場合でも--skip-installedスイッチがあることを意味するようです。しかし、ドキュメントはこのスイッチを参照していません。


7

node_module自分で開発している場合は、npm installsで時間を無駄にせず、代わりにを使用してくださいnpm link

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

これにより、モジュールフォルダーで行った変更がアプリにすぐに反映されます。

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

  1. cd to src/my_module
  2. npm link」を実行します。これにより、グローバルフォルダーからフォルダーへのシンボリックリンクが作成されsrc/my_moduleます。
  3. cd to src/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


受け入れられた答えを変更するのではなく、これが私の特定のケースに役立つため、賛成します。
ジャスティンディアリング

4

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

たくさんのオプションを試してみたところ、かなり簡単な解決策が見つかりました-doint npm installの前にpackage.jsonを別の名前に変更し、インストールの完了後に元に戻します:

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

2
うわー、それはまだ真剣に唯一の方法ですか?それはばかげている、フラグ--ignore-packageまたは何かがあるはずです。
JacobTheDev

2
この解決策は優れており、これまでのところ私の質問に対する最善の解決策かもしれません:stackoverflow.com/questions/53532845/…–
aGuegu
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.