Windowsでnpmのキャッシュパスを変更する(またはキャッシュを完全に無効にする)にはどうすればよいですか?


103

私は自分のWindows 7 x64開発マシンにNode.jsを手動でインストールしました。

mkdir C:\Devel\nodejs
cd C:\Devel\nodejs
set NODE_PATH=%CD%
setx /M PATH "%PATH%;%NODE_PATH%"
setx /M NODE_PATH "%NODE_PATH%\node_modules"

メインノードx64バイナリnpmパッケージマネージャとともにに配置しましたC:\Devel\nodejs。チャームのように動作し、インストーラーを扱わなくてもメインバイナリを更新できます。

解決できない唯一の問題は、キャッシュフォルダーの移動です。ローカルパッケージをインストールすると:

npm install express

...キャッシュは%APP_DATA%\npm-cacheフォルダの下に配置されます。それを次のように変更したいと思います。

C:\Devel\nodejs\npm-cache

npmキャッシュフォルダーを変更したり、完全に無効にしたりするにはどうすればよいですか?


1
場所は%APPDATA%\ npm-cache
arni

回答:


158

npmコマンドラインを使用してnpmキャッシュフォルダーを変更できます。(参照:https : //docs.npmjs.com/misc/configより具体的にはhttps://docs.npmjs.com/misc/config#cache

したがって、次のコマンドを試してみてください。

> npm config set cache C:\Devel\nodejs\npm-cache --global 

3
また、npmrcルートを使用する場合、グローバルnpmrcファイルは$ PREFIXに直接配置されるのではなく、$ PREFIX \ etcに配置されることに注意してください
Henry C

3
Cygwinを使用してWindows 7でこれを行う場合、バックスラッシュが削除されないように、すべてのバックスラッシュの前にスラッシュを追加する必要がありました。
TJ。

8
do a npm config listを実行した後、正しい設定を確認します
kampsj 2015年

リンク先のドキュメントのどこにいても、参照しているコマンドを見つけることができません
AaA

39

export npm_config_cache=/path/to/cache(Unix)またはset npm_config_cache=C:\path\to\cache(Win)の代わりに環境変数を設定することもできますnpm config set(これはnpmのすべての構成オプションに当てはまります)。


dockerを使用している場合は、実行時にenv varを次のように追加できます。

docker run -e npm_config_cache=/path/to/cache mydockerimage:tag

3
これは、Dockerでの使用に最適です。THX
velop

3

以下を行うこともできます。

キャッシュパスを希望どおりに、インストール中の単一のパッケージに対して:

npm install packageName --cache path/to/some/folder

package.json内のすべてのパッケージについて、希望どおりのキャッシュパスを設定するには、次のようにします。

package.jsonがいつものようにあるディレクトリにいるだけで、

npm install --cache path/to/some/folder

これはnpmのドキュメントにはないかもしれませんが、npm 6で試してみましたが、うまくいきます。npm 5以降で機能しているようです[参照:インストールコマンドでnpm5にキャッシュフォルダーを指定する方法は?


0

さらに、更新コマンドの実行も機能することがわかりました-たとえば:

npm update npm

最後に、npm-cacheディレクトリをチェックして、いっぱいになっているかどうかを確認できます。


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