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

时间:2019-03-04 18:28:11

标签: elm elm-make elm-0.18

  • 我全新安装:npm i elm@0.18 -g
  • 我尝试使用elm-make ./src/scripts/MainModule.elm
  • 进行构建
  • 我明白了:
  

elm-make:elm-package.json:openBinaryFile:不存在(没有这样的文件或目录)

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

有想法吗?

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

3 个答案:

答案 0 :(得分:1)

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

作为参考,请在此处发布:https://github.com/elm-lang/elm-make/issues/171

答案 1 :(得分:0)

@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变量,否则,您将看到完整路径。

答案 2 :(得分:0)

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