elm-make
elm-make copied to clipboard
Unhelpful error if elm-stuff exists but elm-package.json doesn't
Running elm-make
in a folder without an elm-package.json
normally creates an elm-package.json
for you. However, if an elm-stuff
folder already exists, it instead gives an unhelpful error message: elm-make: elm-package.json: openBinaryFile: does not exist (No such file or directory)
I would proposed that elm-make
should behave the same regarding the existence of elm-package.json
regardless of whether elm-stuff
exists. Alternatively, a more helpful message (something like "There is no elm-package.json file. If you want elm-make to create one for you, first delete the elm-stuff folder.")
To reproduce:
elm-make --yes
rm elm-package.json
elm-make
--> elm-make: elm-package.json: openBinaryFile: does not exist (No such file or directory)
Thanks for the issue! Make sure it satisfies this checklist. My human colleagues will appreciate it!
Here is what to expect next, and if anyone wants to comment, keep these things in mind.
Bump.
This also seems to happen when elm-stuff
exists with exact-dependencies.json
inside. Besides the error message not being helpful at all, this does not fit my current use-case of versioning exact-dependencies.json
, to always download the exact same version of a package.
If there's another way to achieve this use-case please tell me, as I couldn't find how to always download the same package down to the PATCH
level.
EDIT: As a workaround it seems to be needed to delete the whole elm-stuff
directory, which also deletes exact-dependencies.json
. Then upon rebuilding one must hope the downloaded packages will match the ones in the versioned exact-dependencies.json
, which is less than ideal.
You can manually add all the dependencies as found in exact-dependencies.json
file to elm-package.json
and restrict the version range to only allow a single version, e.g. 1.2.3 <= v < 1.2.4
. The only version that could ever satisfy that constraint is 1.2.3 itself.