如何通过Judge API运行多个Go文件?
解决Judge API运行多Go文件时"go: command not found"的问题
确认语言ID设置正确:Judge0中Go对应的language_id通常为28(对应Go 1.x版本),提交请求时必须指定这个ID,而非Shell的ID,否则运行环境不会加载Go的PATH配置。
指定Go命令的绝对路径:如果坚持用run.sh脚本运行,先提交一个简单的Shell任务执行
which go,获取Go的绝对路径(比如/usr/local/go/bin/go),再修改run.sh内容:/usr/local/go/bin/go run main.go注意:main_test.go是测试文件,正常运行主程序无需带上它;若要执行测试,应改用
go test命令。检查ZIP打包结构:确保ZIP根目录下直接存放main.go、go.mod、run.sh,不要将文件嵌套在子文件夹中,否则脚本会找不到目标文件。
更稳妥的替代方案:无需编写run.sh,提交请求时直接指定编译和运行参数:
compile_command:go build -o myapp main.gorun_command:./myapp
同时将main.go、go.mod作为additional_files上传,Judge0会自动调用Go环境完成编译和运行,规避PATH配置问题。
内容的提问来源于stack exchange,提问作者Mike3355
相关产品推荐
相关产品推荐

