Windows: capitalization of the HOME environment variable

I have HOME defined in an environment variable. Starting with Julia v0.5.0, I could install packages, but I could not load them with using or import. It turns out, I had the capitalization wrong in my HOME environment variable. That hasn’t been a problem with other programs (including Julia v0.4.x) because Windows programs don’t normally care about file/path case. Once I fixed my capitalization, things worked fine.

It might help someone else who was confused by this. The error message wasn’t obvious other than giving me a good place in the code to start looking.

This is good to keep in mind, and a common pain point on windows systems. I use some software that looks for proxy settings in a “http_proxy” environment variable, and others that want a “HTTP_PROXY” environment variable, and I can’t define both…

Did you have the capitalization of HOME wrong, or the path itself?

My problem was the capitalization of the path.

This is probably due to https://github.com/JuliaLang/julia/pull/13542, which made the using Foo statement case-sensitive on case-insensitive filesystems like Windows.

However, making the path case-sensitive as well may have been an unintended side-effect that we should reconsider. In fact, it looks like it only does this on Windows; on Mac case-insensitive systems, it only checks the case of the module name and not the whole path.

A fix has been merged for Julia 0.6.

1 Like