问题标签 [ocaml-dune]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
471 浏览

ocaml - jbuilder 安装失败:没有 opam-installer 工具

我正在尝试运行jbuilder install安装我刚刚构建的 opam 包jbuilder build @install(它为我生成了一堆*.install文件)。但是,我收到以下错误:

根据opam 开发者文档opam-installer随 OPAM 一起提供。我正在使用 OPAM 1.2.2 版。

我尝试find在我的 ~/.opam 目录上运行,但它没有找到任何opam-installer二进制文件。

这个opam-installer工具jbuilder需要什么,我在哪里可以找到它?

0 投票
0 回答
883 浏览

ssl - 如何使用 OCaml 的 Cohttp 库发出 HTTPS 请求

如何通过 HTTPS将Cohttp库用于URL?GET

这是我尝试使用的代码:

当我运行它时,我收到以下错误:

使用 Cohttp 时如何启用 SSL ?

另外,作为一个额外的问题,我应该如何在不求助于这里询问的情况下解决这个问题?我错过了某种 Cohttp 文档吗?


@antron 问了下面的问题,“你安装了ssl库吗?”

我确实安装了ssl库:

但是,我不确定这是否相关,但我的cohttp包裹没有显示dependson ssl


我在 Arch Linux 上运行 OCaml 版本 4.05.0,通过opam switch.

以防万一,这是jbuild我正在使用的文件:

我正在运行jbuilder如下。编译时没有错误:

我正在运行如下my_example_prog可执行文件:

你可以在这里找到我正在使用的完整 OCaml 项目。

0 投票
1 回答
507 浏览

ocaml - 如何使用 ppx 为数据类型派生 to_string 方法

如何使用 ppx 和jbuilderto_string派生数据类型的方法?

例如,我正在尝试使用为数据类型@@deriving show派生show_*方法。我有一个main.ml看起来像这样的简单文件:

jbuild在同一目录中有一个文件,如下所示:

当我运行时jbuilder build,我收到以下错误:

似乎jbuilder没有运行ppx_deriving.show预处理器,也没有生成show_foo函数。

我的用法@@derive show正确吗?我是否需要在我的jbuild文件中添加一些内容才能使其正常工作?ppx_deriving与 合作有问题吗jbuilder?我应该使用不同的 ppx 库吗?我应该使用不同的构建系统吗?大多数 OCamlers 如何处理这类构建系统问题?


编辑:我使用的是 OCaml 版本 4.04.2、jbuilder 版本 1.0+beta11 和 ppx_deriving 版本 4.1。

0 投票
0 回答
501 浏览

ocaml - 在 utop 中需要 "core" 会给出错误:Unix.Unix_error (Unix.ENOENT, "sysconf", "")

当我尝试打电话#require "core"utop,我收到一个错误:

.ocamlinit我的当前目录中有一个如下所示的文件:

什么可能导致此错误发生?这似乎是 Findlib 的错误?

我尝试擦除我的~/.opam目录,重新运行opam init,opam switch set 4.05.0并重新安装coreand utop,但此错误仍然存​​在。是否有可能我还需要重新安装opam自己?我目前正在使用 opam-1.2.2 的二进制版本。

我正在运行 Arch Linux,我相信在更新我系统上的所有软件包后开始出现此错误,但我不确定。

我仍然可以用来jbuilder构建可执行文件,但是在运行可执行文件时,它们会失败并出现类似的错误:

我很确定这不是由我的代码引起的异常,但类似于utop.

我有一个jbuild看起来像这样的文件:


编辑:我尝试过使用不同版本opam的编译器,包括系统编译器(也是 4.05.0 版)。似乎没有任何效果。每个组合都会产生与上述相同的错误。

0 投票
2 回答
219 浏览

ocaml - 无法使用带有 jbuilder 的 lablgtk2 构建程序

我想jbuilder在编译时使用,lablgtk2但在收到这些错误消息时遇到问题:

这是我的jbuild

0 投票
1 回答
839 浏览

ocaml - 使用 Jbuilder 创建 Ocaml 代码的调试版本

我一直在阅读 Ocaml 语言和 Jbuilder 的教程。官方教程指出,必须使用带有 ocamlc 的“-g”标志编译 Ocaml 代码,然后才能运行 ocamldebug。

我在 Jbuilder 文档中找不到任何关于调试版本的提及。唯一看起来很接近的部分是https://jbuilder.readthedocs.io/en/latest/jbuild.html#ocaml-flags。但是,即使我添加“-g”作为编译标志..

..我似乎仍然没有得到调试二进制文件:

难道我做错了什么?如果不是,从 jbuilder 生成调试版本的推荐方法是什么?

0 投票
0 回答
114 浏览

ocaml - jbuilder 1.0 在 Ubuntu 16.04 上安装失败,4.04.0+spacetime

我正在使用 OCaml 4.05.0+spacetime 来分析我的应用程序的内存使用情况。但是,我无法使用此编译器安装 jbuilder 1.0。错误信息

OCaml 4.05.0+spacetime 也会出现此问题。我的机器运行 Ubuntu 16.04。

我在 macOS X 上试过,但没有出现这个问题。所以这可能是 Linux 特有的问题。

有谁知道发生了什么?

0 投票
1 回答
186 浏览

ocaml - 如何在简街 Ocaml 中需要一个模块

我正在通过http://dev.realworldocaml.org/records.html工作,并且遇到了 require 问题

这是我调用 dune build 的输出

这是jbuild

我发现如果我用 ocamlc 编译,“#use”topfind”就可以工作。但还不能让它在沙丘上工作。

提示赞赏。谢谢

0 投票
1 回答
400 浏览

ocaml - 沙丘上一些可执行文件

对于单个文件可执行文件,我该如何加载它dune utop

准确地说,在一个目录中有一个库lib和一个相应dune文件的项目上,我可以启动dune utop lib然后open Lib.MyModule这将加载文件MyModule.ml

对于没有子目录的项目及其根目录下的以下文件,什么是等效的,一个dune文件

和一个文件auth.ml

我想从该文件中加载值dune utop

0 投票
1 回答
72 浏览

ocaml - 没有接口的沙丘 utop lib

是否可以以dune utop mylib“混杂模式”加载库,该库会忽略.mli接口文件并公开内部结构,例如未列为公共接口一部分的值或类型?

实际上,从实现“内部”加载 utop,而不是“从外部”加载,发出标准open命令,并由公共接口强制执行抽象。