在使用 GVM 卸载老版本 Golang 环境时,遇到了 ERROR: Couldn't remove pkgsets 的错误,这个错误是怎么产生的?该如何去解决呢?

问题根源

Go Modules 存放在 $HOME/.gvm/pkgsets/${VERSION} 下,该目录是受保护的,常规执行 gvm uninstall 命令,会由于权限问题无法将该目录删除,从而会导致卸载失败的问题。

解决方法

在想要卸载的 Golang 环境下,执行以下命令,删除 Go Modules 缓存文件夹。

go clean -modcache

命令执行完成后,即可在其他 Golang 环境下成功执行 gvm uninstall 命令。此外,我们也可以执行 sudo rm -rf $HOME/.gvm/pkgsets/$VERSION 命令,手动删除 Go Modules 缓存文件夹。

参考资料