npmを使用してアプリの依存関係をどのように再インストールしますか?


384

アプリが依存するすべてのパッケージを再インストールする簡単な方法はありますか(つまり、アプリのnode_modulesフォルダーにあります)?


4
npm rebuildネイティブの依存関係に関するいくつかの問題も解決する可能性があります
Francisco Presencia

1
ケースでは、他の人を支援します。あなただけのパッケージを再インストールしようとしている場合は、npm update <packageName>素晴らしい作品
rinogo

回答:


617

私が見ることができる最も簡単な方法は、node_modulesフォルダを削除して実行することnpm installです。


28
同意した package.jsonアプリのファイルを作成したと仮定します。
JohnnyHK

9
ディレクトリをnpm install削除した後に実行すると、プルダウンでnode_modules定義された異なるバージョンの依存関係が発生する可能性があることに注意してくださいpackage.json。アプリに非常に特定のバージョンの依存関係が必要な場合は、注意npm shrinkwrapしてnode_modulesディレクトリを調べたり、ソース管理にチェックインしたりしてください。
smithclay

10
@smithclayアプリのpackage.jsonでパッケージの明示的なバージョンを定義したので、それで問題ないはずですよね?
trusktr

@vadim私はの動作についていくつかのテストを行っていましたが、npm install常に依存関係を再インストールし、package.jsonで許可されている最新バージョンにパッケージをアップグレードします。したがってnode_modules、破損していると思わない限り、フォルダを削除する必要はありません。削除する必要があると思われる理由はありますか?目的は無関係のあるすべてのパッケージを削除する場合しかし、あなたは実行することができるnpm prune代わりに
ヒマンシュ

1
@himanshuあなたは正しいnpm installすべてのモジュールをpackage.json状態にアップグレードします。しかし問題は、すべてのパッケージを再インストールする方法です。したがって、それらが破損しているか、node.js verisonのアップグレード後にバイナリパーツを再構築する必要がある場合があります。
Vadim Baryshev、2012年

96

正しい方法は、実行することnpm updateです。これは非常に強力なコマンドで、不足しているパッケージを更新し、すでにインストールされているパッケージの新しいバージョンを使用できるかどうかを確認します。

Intro to NPMを読んで、npmで何ができるかを理解してください。


58
しかし、新しいパッケージがない場合、これは何もしませんよね?パッケージがすでに最新バージョンであっても、強制的に再インストールしようとしています。
trusktr

2
不足しているパッケージがない場合は、package.jsonにリストされている最新バージョンのパッケージ(パッケージの依存関係を含む)を使用できるかどうかを確認します。したがって、本質的には、可能であればパッケージをアップグレードします。ただし、再インストールされません。コマンドを使用して実行する場合は、実行npm uninstall <package_name>して特定のパッケージnpm uninstallをアンインストールするか、実行してすべてのパッケージをアンインストールできます。
himanshu 2012年

1
npm uninstallパッケージを指定せずにやってみましたがエラーになります。
trusktr

これを実行したフォルダディレクトリにpackage.jsonがありますか?グローバルパッケージをアンインストールする場合は、-gを追加する必要があります
himanshu 2012年

1
提供したリンクは無効です。新しいリンクを提供していただけますか?(私はこれを見つけましが、それを変更するのが許容できるかどうかはわかりません)
Motti

63

ほとんどの場合、次のコマンドを使用して、すべてのノードモジュールを完全に再インストールします(プロジェクトフォルダーにいることを確認してください)。

rm -rf node_modules && npm install

フォルダーをnpm cache clean削除した後に実行して、node_modulesキャッシュされた依存関係がないことを確認することもできます。



12

npmにある再インストールモジュールを使用できます。

インストール後、次のコマンドを使用できます。

reinstall

手動でnode_modulesフォルダーを削除して作成することの唯一の違いnpm installは、このコマンドがnpmのキャッシュを自動的にクリアすることです。したがって、1つのコマンドで3つのステップを取得できます。

upd: npx reinstallパッケージをグローバルにインストールせずにこのコマンドを実行する方法です(npm5 +のみ)


1
@ g00glen00b編集して、ハイパーリンクのない有用な情報が含まれるようにしました
Rob

@ g00glen00bそれはまったく問題ありません。これは削除の候補にはなりません。この投稿を参照しください。特に、ハイパーリンクが削除されたときに有用な情報(ライブラリの名前など)がある場合は、リンクを使用して短い回答を扱います
Rob


1

Windowsの場合、使用できます

(if exist node_modules rmdir node_modules /q /s) && npm install

node_modulesディレクトリを削除して実行しnpm installます。インストール前に削除すると、すべてのパッケージが確実に再インストールされます。


0

この手順に従って、ノードモジュールを再インストールして更新します。

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.