Go新手运行含pbkdf2导入的脚本时提示缺包,执行go install报错‘not a main package’的最简解决方法
解决Go脚本缺失golang.org/x/crypto/pbkdf2包的问题
嘿,作为Go新手碰到这种依赖问题太正常了,我给你说个最简单的解决流程:
第一步,先在你的脚本所在目录初始化Go模块(这是Go管理依赖的基础,之前报错就是因为没有go.mod文件):
go mod init decrypt-grafana-password这里的
decrypt-grafana-password是模块名称,你可以换成任意你喜欢的名字,比如和脚本名关联的就行。第二步,添加pbkdf2的依赖:
go get golang.org/x/crypto/pbkdf2@latest这个命令会自动下载该包,并把依赖信息写入到刚生成的go.mod文件里。
第三步,重新运行你的脚本:
go run DecryptGrafanaPassword.go这时候应该就能正常执行,不会再报缺失包的错误了。
顺便给你解释下为什么之前go install不行:go install是用来安装可执行程序的(也就是包含package main和main()函数的代码),而golang.org/x/crypto/pbkdf2是一个库包,只能被其他代码引用,不是可执行程序,所以用go get才是正确的安装库依赖的方式~
内容的提问来源于stack exchange,提问作者laurie
相关产品推荐
相关产品推荐

