Install

Shards is usually distributed with Crystal itself (e.g. Homebrew and Debian
packages). Alternatively, a shards package may be available for your system.

You can download a source tarball from the same page (or clone the repository)
then run make CRFLAGS=--releaseand copy bin/shards into your PATH. For
example /usr/local/bin.

You are now ready to create a shard.yml for your projects (see details in
SPEC). You can type
shards init to have an example shard.yml file created for your project.

Run shards install to install your dependencies, which will lock your
dependencies into a shard.lock file. You should check both shard.yml and
shard.lock into version control, so further shards install will always
install locked versions, achieving reproducible installations across computers.

On Mac OS X you may install it using homebrew with brew install libyaml
then make sure to have /usr/local/lib in your LIBRARY_PATH environment
variable (eg: export LIBRARY_PATH="/usr/local/lib:$LIBRARY_PATH").
Please adjust the path per your Homebrew installation.

License

Licensed under the Apache License, Version 2.0. See
LICENSE for
details.

CHANGELOG

v0.9.0.rc1 - 2019-01-11

Breaking changes:

Dependency solver was overhauled;

Git tag refs that match a version number are now an actual version (i.e.
tag: v1.0.0 is converted to version: 1.0.0).

Features:

Update specified shards only, trying to keep other shards to their locked
version if possible;

Add --local argument to use the cache as-is, allowing to skip git fetches
when you know the cache is up-to-date;

Add the outdated command to list dependencies that could be updated
(matching constraints) as well as their latest version; including pre-release
versions on demand.

Add the lock command that behaves like the install and update commands
but that only creates a lockfile, and doesn't install anything.

Fixes:

Transitive dependencies are now available to all installed shards, allowing
postinstall scripts to compile any Crystal application;

Don't consider metadata when considering a pre-release version number.

v0.9.0.beta - 2019-01-11

Breaking changes:

A shard.yml spec is now required in libraries.

Drop support for obsolete Projectfile.

Features:

Experimental support for prereleases. Add a letter to a version number to
declare a pre-release. For example 1.2.3.alpha or 1.0.0-rc1.