如何解决Jenkins中扫描Go项目时的encoding/json包错误?
Go项目gosec扫描报错求助
我在扫描GoLang/Angular混合项目时,使用gosec工具扫描Go代码部分始终触发如下错误:
执行命令:/usr/local/go/bin/gosec ./...
报错日志:
[gosec] 2024/07/08 10:14:19 Including rules: default
[gosec] 2024/07/08 10:14:19 Excluding rules: default
[gosec] 2024/07/08 10:14:19 Import directory: /var/lib/jenkins/workspace/ang-go/server
2024/07/08 10:14:20 internal error: package "encoding/json" without types was imported from "command-line-arguments"
当前使用Go版本:go version go1.22.3 linux/amd64
初始Jenkins流水线阶段配置
stage('Install Go') { steps { dir('/var/lib/jenkins/workspace/ang-go/server/') { sh '/usr/local/go/bin/go version' sh '/usr/local/go/bin/go build -o myapp' sh '/usr/local/go/bin/go get -u github.com/mattn/go-sqlite3' sh '/usr/local/go/bin/go test' sh '/usr/local/go/bin/gosec ./...' } } }
已尝试的解决步骤
- 清理缓存并安装依赖,新增流水线阶段:
stage('Install Go Dependencies') { steps { dir('/var/lib/jenkins/workspace/ang-go/server') { sh '/usr/local/go/bin/go clean -modcache' sh '/usr/local/go/bin/go mod tidy' sh '/usr/local/go/bin/go mod vendor' } } }
- 升级golang.org/x/tools/go/packages,新增流水线阶段:
stage('Upgrade Go Packages') { steps { script { sh '/usr/local/go/bin/go get -u golang.org/x/tools/go/packages' sh '/usr/local/go/bin/go mod tidy' } } }
尝试上述所有方案后,问题仍未解决,报错信息完全一致,求可行的解决办法以获取正常的扫描结果。
内容的提问来源于stack exchange,提问作者Balkiss
相关产品推荐
相关产品推荐

