I like to keep my local packages, including public and private ones, outside
~/.julia. This has some benefits, eg that
Pkg.update() does not attempt to update them, and that if my package directory is seriously corrupted I can easily wipe and reinstall.
It allows you to define objects using non-standard string literals:
using RoguePkg # package which contains a given module, found using the load path: pkg_for"FancyModule" # package at a specified path: pkg_at"~/this_is/where_I/keep/FancyPkg" # set ENV[JULIA_LOCAL_PACKAGES], will find it in there: pkg_local"FancyPkg"
Then you can
The package is not registered, get it from
Base.Pkg.dir is extended to work with the objects above. If they are the first argument, they resolve to the path, in other positions to the package name.