无法删除$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
喜事啊,喜事啊。