-
Notifications
You must be signed in to change notification settings - Fork 91
Installer do not add 'msys\usr\bin' directory into PATH #268
Comments
The HP does not include the MSYS folder's path by default since the odds are very high it would cause user problems at some later point (see below for details). So, we leave the step of including it in the PATH up to the user . I believe the release notes (https://www.haskell.org/platform/#windows) mentions a way to do this that doesn't affect the PATH directly. The problem with simply adding the MSYS2 folder's path is that MSYS2 contains some executables with the exact same names as ones provided by Windows (e.g., dir, find, echo). Including the directory to these Unix-like tools on the Windows PATH will cause problems, regardless of whether appended or prepended. If put early in the PATH, the Unix-tools will mask the Windows equivalents, and if placed later in the PATH, the opposite will happen. Some have called this type of problem: "PATH pollution." The former failure (Windows-specific executables masked) will confuse the end user, and likely at a very different time from when the PATH was modified (e.g., weeks after installing the unix-like tools, the user cannot figure out why some other tool or batch file fails on the "echo" command). The latter failure will cause the build of configure-style packages, which we are trying to address here, to fail. |
Agreed. We could update the website to include extra information that lets users know of the option, I suppose... |
I know what happens if installer automatically does, but the installer supports option to avoid all the PATHs. And installer adds PATHs of other Unix-like tools (installed with Haskell Platform), like I think this problem can be solved by specifying installer's option. |
Please see #279 also. |
The |
By default, installer program adds some PATH environment variables, but MSYS binary folder's path is not included.
Some extensions (like ghc-mod) use MSYS to build. But because of PATH setting, installation fails. Please add the route into project.
The text was updated successfully, but these errors were encountered: