解決使用gomod后goland導包報紅問題
項目環境:
- ubuntu14+goland
問題詳情:
- 在root用戶下執行
go mod init {module name}
使用了gomod,並編譯了項目。 - 在root用戶下正常編譯運行都沒問題
- 在其他用戶下使用goland導包報紅
- 在其他用戶下使用
go build
提示沒有權限permission denied
解決方案:
-
內部包
更換導包路徑,原來可能使用的是
./
這種相對路徑,換成{module name}/package1/package2
的方式。 -
外部包
在root用戶下能編譯,在其他用戶下卻沒法編譯,於是考慮到了可能是權限問題
首先要知道gomod包都是下載到了
$GOPATH/pkg/mod
下面的,使用ls -l
查看下報紅的包文件夾的權限,發現是root用戶的,其他用戶沒有權限,那就簡單了,直接暴力解決:chmod 777 mod -R
修改mod文件夾下所有文件夾的權限為所有用戶所有組可讀寫。
問題解決。