M1芯片Mac:VSCode中Julia调用GAMS提示可执行文件未找到求助
问题原因
- macOS中,从Launchpad或Finder启动VSCode时,不会加载用户shell配置文件(如
~/.zshrc、~/.bash_profile)里的环境变量;而终端启动时会读取这些配置,这就导致VSCode的Julia环境PATH缺失GAMS等自定义路径。 - 你的M1 Mac通过Rosetta终端安装GAMS,GAMS的路径仅在Rosetta终端的环境变量中生效,原生启动的VSCode无法继承该路径。
解决方案
方法1:从终端启动VSCode
这种方式会让VSCode完全继承终端的环境变量,包括GAMS的PATH:
- 右键终端.app,选择「使用Rosetta打开」启动终端
- 若未安装VSCode的
code命令,打开VSCode后按Cmd+Shift+P,搜索并执行Shell Command: Install 'code' command in PATH - 在Rosetta终端中输入
code启动VSCode,此时Julia环境的PATH会与终端一致。
方法2:在Julia代码中手动配置PATH
在调用GAMS前,直接修改Julia的环境变量:
# 将GAMS路径添加到环境变量最前端 ENV["PATH"] = "/Library/Frameworks/GAMS.framework/Versions/34/Resources:" * ENV["PATH"] using GAMS, JuMP model = Model(GAMS.Optimizer) set_optimizer_attribute(model, "Solver", "CPLEX")
方法3:配置VSCode全局环境变量
让VSCode启动时自动加载GAMS路径:
- 打开VSCode设置(快捷键
Cmd+,) - 搜索
terminal.integrated.env.osx,点击「编辑 in settings.json」 - 添加以下配置:
"terminal.integrated.env.osx": { "PATH": "/Library/Frameworks/GAMS.framework/Versions/34/Resources:${env:PATH}" }
- 重启VSCode后,Julia环境的PATH会包含GAMS路径。
内容的提问来源于stack exchange,提问作者user496181
相关产品推荐
相关产品推荐

