You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When shards installs executables, it unconditionally appends .exe to the name specified in shard.yml.
This is a nice feature to ensure the same executable name works on all platforms. But the implementation is very wrong.
It does not allow to install any other kinds of executables, such as shell scripts.
$ cat shard.ymlname: fooversion: 0.1.0development_dependencies: ameba: github: straight-shoota/ameba commit: 15ce5437d13f47e023778e3be2a78e55759c263b
$ shards installResolving dependenciesFetching https://github.com/straight-shoota/ameba.gitInstalling ameba (1.4.3 at 15ce543)Postinstall of ameba: shards build -Dpreview_mtUnhandled exception: Error opening file with mode 'r': 'C:\\crystal\\shards\\foo\\lib\\ameba\\bin\\ameba.cr.exe': No such file or directory (File::NotFoundError) from C:\Users\johannes\scoop\apps\crystal\current\shards.exe +43309 in '??' from C:\Users\johannes\scoop\apps\crystal\current\shards.exe +72883 in '??' from C:\Users\johannes\scoop\apps\crystal\current\shards.exe +331539 in '??' from C:\Users\johannes\scoop\apps\crystal\current\shards.exe +742269 in '??' from C:\Users\johannes\scoop\apps\crystal\current\shards.exe +741894 in '??' from C:\Users\johannes\scoop\apps\crystal\current\shards.exe +529299 in '??' from C:\Users\johannes\scoop\apps\crystal\current\shards.exe +322587 in '??' from C:\Users\johannes\scoop\apps\crystal\current\shards.exe +36666 in '??' from C:\Users\johannes\scoop\apps\crystal\current\shards.exe +133225 in '??' from C:\Users\johannes\scoop\apps\crystal\current\shards.exe +134533 in '??' from C:\Users\johannes\scoop\apps\crystal\current\shards.exe +1290932 in '??' from C:\WINDOWS\System32\KERNEL32.DLL +75437 in 'BaseThreadInitThunk' from C:\WINDOWS\SYSTEM32\ntdll.dll +371304 in 'RtlUserThreadStart'
There are actually two issues with this:
Shards should find and install ameba.cr without appending .exe
If an executable does not exist, the error message should be nicer
The text was updated successfully, but these errors were encountered:
When shards installs executables, it unconditionally appends
.exe
to the name specified inshard.yml
.This is a nice feature to ensure the same executable name works on all platforms. But the implementation is very wrong.
It does not allow to install any other kinds of executables, such as shell scripts.
Reproduction (ref: crystal-ameba/ameba#391).
There are actually two issues with this:
ameba.cr
without appending.exe
The text was updated successfully, but these errors were encountered: