elm-make: elm-package.json: openBinaryFile: 不存在

elm-make: elm-package.json: openBinaryFile: does not exist

elm-make: elm-package.json: openBinaryFile: does not exist (No such file or directory)

但是 elm-package.json 文件就在调用 elm-make 的目录中。

想法?

注意:我正在使用 nvm,以防万一。

我可以通过删除 elm-package.json,但保留 elm-stuff/ 目录来重现错误。您应该可以通过删除 elm-stuff/ 目录并让 elm-make 为您重建项目来解决此问题。

供参考,在这里发布:https://github.com/elm-lang/elm-make/issues/171

@HParker 是对的,重现它的唯一方法是按照以下步骤操作:

  1. 运行 elm-make 并让它安装所有依赖项
  2. 删除 elm-package.json 文件
  3. 运行 elm-make 再一次

如果不是您的情况,您可以使用 strace 调试正在发生的事情,例如。 g.

strace -yfv elm-make 2>&1 | grep elm-package.json

示例输出:

[pid 32319] openat(AT_FDCWD, "elm-package.json", O_RDONLY|O_NOCTTY|O_NONBLOCK) = -1 ENOENT (No such file or directory)
[pid 32319] write(2<pipe:[427229]>, "elm-package.json: openBinaryFile"..., 76elm-package.json: openBinaryFile: does not exist (No such file or directory)) = 76

如果它尝试在当前工作目录中打开 elm-package.json,您将看到 AT_FDCWD 变量,否则您应该看到完整路径。

问题是软件包作者通过将 elm-package.json 更改为 elm.json 来更新软件包以支持 elm .19,但没有提升其软件包的主要版本。