opam执行switch list-available无匹配 无法创建switch怎么解决?
opam switch报错修复步骤
1. 同步opam包仓库索引
你查询可用switch返回空列表,是因为本地opam还未同步远端仓库的编译器信息,先执行更新操作:
opam update
如果执行报错,说明你还没有完成opam初始化,先执行初始化命令:
opam init
执行过程中提示是否修改shell配置文件时选择同意即可,初始化完成后执行source ~/.bashrc(zsh用户替换为source ~/.zshrc)让配置生效。
如果更新速度过慢,可自行替换为国内的opam镜像源提升速度
2. 正确创建switch
你之前直接执行opam switch create default报错,是因为没有指定要使用的编译器版本,可根据需求选择以下任意一种方案:
- 方案1:复用本地已安装的OCaml 4.12.0创建switch
不需要重新编译编译器,速度快,执行命令:opam switch create default ocaml-system.4.12.0 - 方案2:通过opam安装独立的OCaml 4.12.0创建switch
安装的编译器独立于系统环境,后续多版本切换更灵活,执行命令:opam switch create default 4.12.0
3. 激活switch配置
创建完成后执行以下命令激活刚创建的default switch:
opam switch default eval $(opam env)
4. 验证并安装软件包
执行opam switch list确认default switch已处于选中激活状态,之后就可以正常执行opam install lwt安装需要的软件包。
内容的提问来源于stack exchange,提问作者optimal_transport_fan
相关产品推荐
相关产品推荐

