nimble
nimble copied to clipboard
`nimble -v` may bootstrap Nim compiler from sources
When Nim executable is not found, then nimble -v
will try to download and bootstrap the Nim compiler from sources, even though it's not necessary at all to have a working compiler for just showing version info.
It is really an issue because of choosenim
. choosenim
tries to call nimble -v
before it produces a valid symlink to nim
executable. So, when nimble -v
is executed, then it tries to boostrap the compiler from sources, leading to much unnecessary CPU usage.
The main outcome of this issue is that running choosenim update 2.0.6
from scratch takes approximately six minutes, making CI runs last much longer than expected.
Note that Nim 2.0.4 is shipped with a version of nimble
which doesn't try to bootstrap the compiler on -v
when it's not found, but fails with an error instead. So, the problem was not visible before Nim 2.0.6 official release.
It's probably also a good idea to fix this issue in choosenim
by preventing it from calling nimble -v
.