无法设置CGO_ENABLED=1,Go语言-race模式启动失败求助
解决CGO_ENABLED=1设置无效的问题
临时生效(单次运行)
如果只是单次需要启用cgo,无需单独设置环境变量,直接在命令前拼接变量即可:
CGO_ENABLED=1 go run -race .
这个方式会临时为当前go run命令启用cgo,不受终端现有环境变量影响。
按操作系统设置永久/会话级环境变量
Windows系统
- 会话级(仅当前VS Code终端生效):
在VS Code打开的终端中先执行:
紧接着执行set CGO_ENABLED=1go run -race .,必须在同一个终端会话内完成。 - 永久生效(所有终端和VS Code实例):
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在「用户变量」或「系统变量」区域点击「新建」,变量名填
CGO_ENABLED,变量值填1 - 重启VS Code,新打开的终端会自动加载该环境变量
Linux/macOS系统
- 会话级(仅当前VS Code终端生效):
在VS Code终端执行:
之后立即执行export CGO_ENABLED=1go run -race .。 - 永久生效(所有终端和VS Code实例):
- 编辑对应shell的配置文件:
- Bash:
~/.bashrc - Zsh:
~/.zshrc - Fish:
~/.config/fish/config.fish
- Bash:
- 添加一行:
export CGO_ENABLED=1 - 执行
source ~/.bashrc(替换为你的配置文件路径),或重启VS Code使设置生效
- 编辑对应shell的配置文件:
内容的提问来源于stack exchange,提问作者Hydrous Caperilla
相关产品推荐
相关产品推荐

