无法删除$GOPATH/pkg/mod下的文件

改变$GOPATH的故事

在安装Go时,我将$GOPATH设置为~/workspace/go的形式,但发现操作起来很不方便,所以将其恢复为默认值~,然后尝试删除原始目录时无法删除,所以做了个备忘录。

$ echo $GOPATH #変更後
/Users/usr/go

$ rm -rf ~/workspace/go
rm: cannot remove '/Users/usr/workspace/go/pkg/mod/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2/internal/subtle/aliasing.go': Permission denied
rm: cannot remove '/Users/usr/workspace/go/pkg/mod/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2/internal/subtle/aliasing_test.go': Permission denied
rm: cannot remove '/Users/usr/workspace/go/pkg/mod/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2/internal/subtle/aliasing_appengine.go': Permission denied
rm: cannot remove '/Users/usr/workspace/go/pkg/mod/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2/internal/chacha20/chacha_s390x.s': Permission denied
[...]

只有读权限

我以为是垃圾处理的问题,原来是个特性。

解决方法

go mod表示需要在下面删除。

$ go clean -modcache

由於很麻煩,所以我懷疑安裝了權限並刪除了它。

$ find ~/workspace/go/pkg/mod -exec chmod u+w {} \;
$ rm -rf ~/workspace/go

喜事啊,喜事啊。

链接

广告
将在 10 秒后关闭
bannerAds