You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu系统VS Code运行Kotlin出现kotlinc:not found错误如何解决?

问题原因
  • SDKMAN安装的Kotlin可执行文件默认存放在当前用户家目录下的.sdkman/candidates/kotlin/current/bin/路径下,相关的PATH配置会被SDKMAN写入用户个人的shell配置文件(如.bashrc、.zshrc),这类配置仅会在交互式登录shell启动时加载。
  • VS Code启动时调用的是非交互式shell,Code Runner插件执行命令时默认使用的/bin/sh也不会加载用户自定义的shell配置,导致系统在默认PATH里找不到kotlinc命令,抛出127错误。
解决方案

以下三种方案任选其一即可:

方案1:修改Code Runner的Kotlin执行配置(最推荐,不影响全局配置)

  1. 先在本地可正常执行kotlinc的终端中执行以下命令,获取kotlinc的绝对路径:
which kotlinc

输出示例:/home/your_username/.sdkman/candidates/kotlin/current/bin/kotlinc
2. 打开VS Code设置,搜索code-runner.executorMap,点击「在settings.json中编辑」
3. 找到配置项中kotlin对应的执行命令,将其中的kotlinc替换为上一步查到的绝对路径,修改后示例:

"code-runner.executorMap": {
    "kotlin": "cd $dir && /home/your_username/.sdkman/candidates/kotlin/current/bin/kotlinc $fileName -include-runtime -d $fileNameWithoutExt.jar && java -jar $fileNameWithoutExt.jar"
}
  1. 保存配置后重新运行代码即可。

方案2:全局配置可执行文件软链接

在终端执行以下命令,将kotlinc软链接到系统全局PATH路径下:

sudo ln -s 上一步查到的kotlinc绝对路径 /usr/local/bin/kotlinc

执行完成后重启VS Code即可生效。

方案3:修改VS Code集成终端启动参数

打开VS Code设置,搜索terminal.integrated.shellArgs.linux,如果你默认使用bash,添加参数["-l"];如果使用zsh,添加参数["-l", "-i"],让集成终端启动时加载用户shell配置,重启VS Code后生效。

内容的提问来源于stack exchange,提问作者Hmerman6006

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 20:27:03