仮想マシンのプロビジョニングプロセスの一部として使用されるpackage.json
に依存関係を追加しています。そのため、プロビジョニング担当者がVM内でモジュールをインストールするため、実際にモジュールをローカルにインストールする必要はありません。したがって、次のことを行う方法はありますか?
npm install --save <module>
onlyは、実際にモジュールをダウンロードしたり、package.json
フォルダーを作成したりせずに、node_modules
に最新バージョンのモジュールの依存関係を作成しますか?
--dry-run
フォルダーは作成されませんが、node_modules
への書き込みも行われないため、package.json
オプションは近いです。
今のところ、VMを再プロビジョニングする前にパッケージを更新する必要があるたびに、次のことを手動で行っています。
rm -rf node_modules
他の理由としては、テザリングなどの低帯域幅の状況でpackage.json
ファイルを簡単に構築できることが挙げられます。
私が知っているnpm
でそれを行う方法はありません。
これを行うための2つのnpmパッケージがあります。どちらも使用したことはありませんが、試してみる価値があるかもしれません。
お役に立てれば!
興味深い組み合わせ--package-lock-only
with --no-package-lock
これを行うようです
npm install --package-lock-only --no-package-lock PACKAGE
これはpackage-lock.jsonファイルを作成または更新しません。 package.jsonにのみエントリを追加します
更新
これは実際にはバグでしたが、npm 6.9.0で修正されました
解決策を探していました。見つからない場合は、インストールプロセスをスキップして、package.json
ファイルに依存関係(最新バージョン)を追加するスクリプトを作成しました。
https://www.npmjs.com/package/npm-add-dependencies
インストール
$ npm install npm-add-dependencies -g
使用法
ターゲットpackage.json
があるディレクトリに移動して実行します
$ npm-add-dependencies <dependencies> [target]
ここで、dependencies
は依存関係のリストをスペースで割ったものであり、target
は次のいずれかです。
--dev
for devDependencies
--peer
for peerDependencies
--bundled
for bundledDependencies
--optional
for optionalDependencies
target
引数が渡されない場合、依存関係はdependencies
に書き込まれます。
他の人を助けることができたら嬉しいです。
npm install --save packagename
その後npm uninstall packagename
(--saveフラグなし)はこれを実現しますが、空のnode_modulesフォルダーが作成されます