elm-make: elm-package.json: openBinaryFile: 不存在
elm-make: elm-package.json: openBinaryFile: does not exist
- 我进行全新安装:
npm i elm@0.18 -g
- 我尝试构建使用:
elm-make ./src/scripts/MainModule.elm
- 我得到:
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
为您重建项目来解决此问题。
@HParker 是对的,重现它的唯一方法是按照以下步骤操作:
- 运行
elm-make
并让它安装所有依赖项
- 删除
elm-package.json
文件
- 运行
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,但没有提升其软件包的主要版本。
- 我进行全新安装:
npm i elm@0.18 -g
- 我尝试构建使用:
elm-make ./src/scripts/MainModule.elm
- 我得到:
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
为您重建项目来解决此问题。
@HParker 是对的,重现它的唯一方法是按照以下步骤操作:
- 运行
elm-make
并让它安装所有依赖项 - 删除
elm-package.json
文件 - 运行
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,但没有提升其软件包的主要版本。