如何告诉 vscode Coq 在哪里? (修复无法启动 coqtop(coqtop))

How to tell vscode where Coq is? (fixing Could not start coqtop (coqtop))

我试图在 vscode 中使用 coq,但我似乎无法让它工作。

错误:

Could not start coqtop (coqtop)

我得到这个选项:

这令人费解,因为我的终端似乎很清楚 coq 在哪里:

(meta_learning) brandomiranda~/sketching-learning-coq ❯ coqc -v
The Coq Proof Assistant, version 8.14.1
compiled with OCaml 4.10.2
(meta_learning) brandomiranda~/sketching-learning-coq ❯ echo $PATH
/Users/brandomiranda/.opam/__coq-platform.2022.01.0~8.14~2022.01/bin:/Users/brandomiranda/opt/anaconda3/envs/meta_learning/bin:/opt/homebrew/bin:/usr/bin:/bin:/usr/sbin:/sbin

所以我的问题是:

  1. 如果我的终端可以很好地找到 coq,为什么我打开 vscode 时会出现这个错误?
  2. 我该如何解决这个问题?我需要设置什么路径,为什么?

有人建议我这样做:

eval $(opam env); dirname $(which coqtop)

但它什么也没做,或者至少没有解决问题...


我复制粘贴了:

/Users/brandomiranda/.opam/__coq-platform.2022.01.0~8.14~2022.01/bin

提示 vscode 给我,它似乎已经修复了,因为我的脚本被正确检查了。但是,我发现这个令人不安的 cu 我不知道它做了什么或为什么会起作用。

有人可以向我解释为什么这有效——特别是因为查看我的 PATH(打印在上面)coq 已经在全球可用了吗?


fyi 安装代码使用他们的 plataform 安装脚本:https://github.com/coq/platform/blob/main/doc/README_macOS.md 我想在这样做之后上面的 PATH 会被更新为正确的东西,我从 vscode 复制粘贴到 set global .


相关:

好的,我想我修好了。这就是我所做的:

  1. 创建一个新的 switch opam switch create hammer_switch ocaml-base-compiler.4.12.0 并确保我有 xcode & hombrew/brew.
  2. 我使用他们的二进制文件 https://github.com/coq/platform/blob/main/doc/README_macOS.md 和 运行 bash coq_platform_make.sh 安装了 coq 平台 用 $(opam env)
  3. 更新了我的路径
  4. 确保 vscode 设置中的 coqtop 路径具有来自我的 PATH 的路径,例如/Users/brandomiranda/.opam/__coq-platform.2022.01.0~8.15~beta1/binecho $PATH 将 coq 部分复制到 vscode 的设置中
  5. 重新启动 vscode 几次以确保它是 运行 上面的路径。

参见:https://coq.discourse.group/t/how-to-have-vscode-find-coq/1582/2?u=brando90

cotop vscode 见


相关但安装新插件时:https://github.com/lukaszcz/coqhammer/issues/122

vscode gitissue: https://github.com/coq-community/vscoq/issues/243