解决使用gomod后goland导包报红问题


解决使用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文件夹下所有文件夹的权限为所有用户所有组可读写。

    问题解决。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM