After some obstacles I was able to build my own version of the Crystal compiler. (Also: yes, I will add the promised patch for Win7 support, but I was out of time the last weeks.)
The first simple programs are working properly, but then I needed to install libraries with Shards. So I went to compile from source, but it seems Shards needs Shards … for
crystal-molinillo. I then put the molinillo source into
lib/molinillo, but the compiler still gives me this error message:
C:\Repos\shards>crystal build src\shards.cr Showing last frame. Use --error-trace for full trace. In src\molinillo_solver.cr:1:1 1 | require "molinillo" ^ Error: can't find file 'molinillo' If you're trying to require a shard: - Did you remember to run `shards install`? - Did you make sure you're running the compiler in the same directory as your sh ard.yml?
So, in general, how does
require work: where does it try to find the required source code, and why does it work on Linux but not Windows? On Linux the same folder structure in
lib is created after
shards install molinillo. Shouldn’t
lib be browsed by the compiler automatically?