If you've written a Raku module and would like to share it with the community, we'd be delighted to have it listed in the Raku modules directory. :)
The zef ecosystem uses the fez module uploader utility. Use of the fez command is the way to distribute your module.
The process of sharing your module consists of two steps, preparing the module, and uploading the module to one of the ecosystems mentioned above.
More details on preparing your module can be found on the pages linked from Distributions: An Introduction.
Upload your module to zef ecosystem§
If you want to use the zef ecosystem then you need to register your username using fez.
Install fez if you haven't done so already
zef install fez
Register your user with zef's ecosystem
fez register >>= Email: your@email.com >>= Username: username >>= Password: >>= registration successful, requesting auth key >>= login successful, you can now upload dists
Now you can upload your module!
Before doing the following, ensure your META6.json file's auth matches zef:<username> and then:
fez upload >>= Vortex::TotalPerspective:ver<0.1.2>:auth<zef:username> looks OK >>= Hey! You did it! Your dist will be indexed shortly
Versioning and fez§
To prevent changes to a versioned distribution (remember a distribution may contain more than one module), only one upload of a distribution per version is permitted. If a developer makes changes to code in a repository, the changes will not be reflected in the
fezsystem. So changes to code must be accompanied by a bump in the version number and the new version uploaded tofez.
That's it! Thanks for contributing to the Raku community!
If you'd like to try out installing your module, use the zef module installer tool which is included with Rakudo Star Raku:
zef install Vortex::TotalPerspective
This will download your module to its own working directory (~/.zef), build it there, and install the module into your local Raku installation directory.
To use Vortex::TotalPerspective from your scripts, just write use Vortex::TotalPerspective, and your Raku implementation will know where to look for the module file(s).
Deprecated ecosystems§
There have been three ways to distribute a module, but the CPAN and P6C ways have been deprecated; please use the zef/fez method instead. However, no matter the method, all modules will be indexed on the raku.land website.