回答:
私が見ることができる最も簡単な方法は、node_modulesフォルダを削除して実行することnpm installです。
package.jsonアプリのファイルを作成したと仮定します。
npm install削除した後に実行すると、プルダウンでnode_modules定義された異なるバージョンの依存関係が発生する可能性があることに注意してくださいpackage.json。アプリに非常に特定のバージョンの依存関係が必要な場合は、注意npm shrinkwrapしてnode_modulesディレクトリを調べたり、ソース管理にチェックインしたりしてください。
npm install常に依存関係を再インストールし、package.jsonで許可されている最新バージョンにパッケージをアップグレードします。したがってnode_modules、破損していると思わない限り、フォルダを削除する必要はありません。削除する必要があると思われる理由はありますか?目的は無関係のあるすべてのパッケージを削除する場合しかし、あなたは実行することができるnpm prune代わりに
npm installすべてのモジュールをpackage.json状態にアップグレードします。しかし問題は、すべてのパッケージを再インストールする方法です。したがって、それらが破損しているか、node.js verisonのアップグレード後にバイナリパーツを再構築する必要がある場合があります。
正しい方法は、実行することnpm updateです。これは非常に強力なコマンドで、不足しているパッケージを更新し、すでにインストールされているパッケージの新しいバージョンを使用できるかどうかを確認します。
Intro to NPMを読んで、npmで何ができるかを理解してください。
npm uninstall <package_name>して特定のパッケージnpm uninstallをアンインストールするか、実行してすべてのパッケージをアンインストールできます。
npm uninstallパッケージを指定せずにやってみましたがエラーになります。
npmのCLIコマンドを更新しinstall、--forceフラグを追加しました。
npm install --force
--force(または-f)引数が強制的にnpmローカルコピーがディスク上に存在する場合でも、リモートリソースを取得します。
見る npm install
npmにある再インストールモジュールを使用できます。
インストール後、次のコマンドを使用できます。
reinstall
手動でnode_modulesフォルダーを削除して作成することの唯一の違いnpm installは、このコマンドがnpmのキャッシュを自動的にクリアすることです。したがって、1つのコマンドで3つのステップを取得できます。
upd: npx reinstallパッケージをグローバルにインストールせずにこのコマンドを実行する方法です(npm5 +のみ)
Windowsの場合、使用できます
(if exist node_modules rmdir node_modules /q /s) && npm install
node_modulesディレクトリを削除して実行しnpm installます。インストール前に削除すると、すべてのパッケージが確実に再インストールされます。
この手順に従って、ノードモジュールを再インストールして更新します。
node_modulesフォルダーが存在しない場合でも機能します。次のコマンドを同期的に実行します。「npm update」も使用できますが、これが望ましい方法だと思います
npm outdated // not necessary to run this command, but this will show outdated dependencies
npm install -g npm-check-updates // to install the "ncu" package
ncu -u --packageFile=package.json // to update dependencies version in package.json...don't run this command if you don't need to update the version
npm install: will install dependencies in your package.json file.
package.jsonファイルの依存関係のバージョンに問題がない場合は、次の手順を実行するだけで実行できます
npm install
npm rebuildネイティブの依存関係に関するいくつかの問題も解決する可能性があります