Pathing in the D ecosystem is generally broken (at least on windows)
Johannes Pfau via Digitalmars-d
digitalmars-d at puremagic.com
Sat Sep 26 01:46:27 PDT 2015
Am Fri, 25 Sep 2015 16:30:03 +0000
schrieb Jonathan M Davis <jmdavisProg at gmx.com>:
> On Friday, 25 September 2015 at 16:06:44 UTC, Kagamin wrote:
> > I suppose, PATH variable on windows works the same as on unix?
> > And path hell can be easily reproduced on unix too. Nothing
> > windows-specific here.
>
> AFAIK, PATH on Windows works basically the same as it does on
> *nix, but a big difference is that on *nix, there are generally
> some very specific places where programs go, and almost nothing
> needs to touch PATH - e.g. a binary is usually going to be in
> /bin, /usr/bin, or /usr/local/bin, all of which are likely to be
> in your PATH variable. And if you installed something as your
> user, then you'd generally put the binary (or a symlink to it) in
> ~/bin. Windows really doesn't have anything like bin. Everything
> gets installed in its own directory (usually under Program
> Files), and if you want it to be usable on the command line, you
> have to add it to PATH. And since all of these programs are
> separate, they can have executables with the same name (e.g.
> link.exe), whereas that's much less likely on *nix, because
> almost all executables get installed to one of a few bin
> directories. So, you won't even end up installing conflicting
> binaries, because they'd overwrite each other.
>
> I really don't know what the "correct" way to deal with this is
> in Windows, but the way that it's set up does seem to naturally
> cause more problems with PATH than you typically get in *nix.
>
> - Jonathan M Davis
IIRC the windows way is not using PATH if possible. Instead you can
usually check if a program is installed and where using some registry
keys.
More information about the Digitalmars-d
mailing list