Shard Detail

shards v0.7.2

Dependency manager for the Crystal language

Install & Use

Add the following code to your project's shard.yml under:

dependencies to use in production
- OR -
development_dependencies to use in development

  github: crystal-lang/shards
  version: 0.7.2



Dependency manager for the Crystal language.


Crystal applications and libraries are expected to have a shard.yml file at their root looking like this:

name: shards
version: 0.1.0

    github: datanoise/
    branch: master

    version: ~> 0.3.1

license: MIT

When libraries are installed from Git repositories, the repository is expected to have version tags following a semver-like format, prefixed with a v. Examples: v1.2.3, v2.0.0-rc1 or v2017.04.1.

Please see the SPEC for more details about the shard.yml format.


Shards is usually distributed with Crystal itself (e.g. Homebrew and Debian packages); you may invoke it throught crystal deps. Alternatively, a shards package may be available for your system.

You may download a statically compiled 64bit executable of Shards for Linux or OS X from the releases page and install it somewhere into your PATH, this version will take precedence over the bundled version.

Alternatively you may download a source tarball from the same page (or clone the repository) then run make —or make release for an optimized build— and copy the newly generated bin/shards somewhere into your PATH. A good place is /usr/local/bin for example.

You are now ready to create a shard.yml for your projects (see the SPEC). You may type shards init (or crystal deps init) to have a starting shard.yml file created for you.

Simply run shards install to install your dependencies (or crystal deps install), which will lock your dependencies into a shard.lock file, which you should check into version control, so further install will always install the locked versions, achieving reproducible installations across computers.

Last but not least, use shards --help (or crystal deps --help) to list the other commands and their options.

Happy Hacking!


These requirements are only for compiling Shards.

  • Crystal

    Please refer to for instructions for your operating system.

  • libyaml

    On Debian/Ubuntu Linux you may install the libyaml-dev package.

    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.


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