(Timeout waiting to lock artifact cache. It is currently in use by another Gradle instance.)
複数のプロジェクトを行き来したりして、Gradleのバージョンが違うデーモンを立ち上げたりしてるとこんなエラーに遭遇する。
* What went wrong: Error resolving plugin [id: 'org.springframework.boot', version: '2.6.0-SNAPSHOT'] > Could not resolve all dependencies for configuration 'detachedConfiguration1'. > Timeout waiting to lock artifact cache (/Users/macmini/.gradle/caches/modules-2). It is currently in use by another Gradle instance. Owner PID: 34626 Our PID: 34600 Owner Operation: Our operation: Lock file: /Users/macmini/.gradle/caches/modules-2/modules-2.lock
複数のデーモンがかちあってBootRun出来ない状態になっている。
./gradlew –stop はデーモンを停止する
まずは普通にデーモンを停止させる。
しかし、全てののデーモンが止まるわけではない。別の方法を探そう。
$ ./gradlew --stop Stopping Daemon(s) 1 Daemon stopped
pkill -f ‘.*GradleDaemon.*’ はプロセスを停止させる
pkill
コマンドを利用してマッチしたすべてのプロセスを停止させる。
$ pkill -f '.*GradleDaemon.*'
-f オプションはfullの略。
'.*GradleDaemon.*'
で一致するすべてのプロセスをkill出来るため、余計なことを考えずに全デーモンが停止する。
これで良さそう。
~/.zshrc に登録しておく
便利なので適当に~/.zshrcに登録しておく
$ echo "alias pkgdall=\"pkill -f '.*GradleDaemon.*'"\" >> ~/.zshrc $ source ~/.zshrc $ pkgdall // エイリアスはお好みで
これで手軽に全てのGradleのデーモンをkill出来るようになりました。
環境
- Mac OS Big Sur 11.6
- zsh 5.8
参考
Kill all Gradle Daemons Regardless Version? / stackoverflow
コメント