Capitalization matters on Windows

I wanted to share an experience of mine, should someone also encounter this.
I am developing my package on Windows, it’s name is an all-capitalized abbreviation in Project.toml, but src/prjname.jl was not capitalized. This caused the following: ]activate . and ]instantiate worked just fine, but using PRJNAME resulted in a local package not found error (even with uuid specification).
Capitalizing the name of the source file solves the issue. (But Git also doesn’t recognize this as a change on Windows…)

Similar to Python (PEP 235), Julia requires matching case for module import (using and import) and package operations on case-insensitive case-preserving filesystems (Mac and Windows), for portability and other reasons.

(Simply open-ing a file still uses the semantics of the underlying filesystem.)

See also #5789, #17747, and subsequent PRs.

1 Like