cookbook 'elixir', '~> 4.0.0'
elixir
(44) Versions
4.0.0
-
Follow6
Provides an elixir_install resource for installing Elixir from upstream packages or source
cookbook 'elixir', '~> 4.0.0', :supermarket
knife supermarket install elixir
knife supermarket download elixir
elixir Cookbook
A cookbook to install Elixir with a custom resource.
Maintainers
This cookbook is maintained by the Sous Chefs. The Sous Chefs are a community of Chef cookbook maintainers working together to maintain important cookbooks. If you’d like to know more please visit sous-chefs.org or come chat with us on the Chef Community Slack in #sous-chefs.
Requirements
Platforms
- Ubuntu 22.04+
- Debian 12+
- RHEL compatible platforms supported through the
erlangdependency path
Chef
- Chef 15.3+
Cookbooks
- erlang
- git
Usage
Breaking Change for Upgrades
Upgrading from older cookbook versions that used node['elixir'] attributes together with include_recipe 'elixir::default' is a breaking change. Those legacy attributes and recipes were removed when the cookbook moved to the elixir_install custom resource.
Before upgrading an existing wrapper cookbook or role, replace recipe-based usage with an explicit elixir_install resource and move any previous attribute values onto resource properties. See [migration.md](migration.md) for the required changes.
Use the elixir_install resource in your own cookbook.
Install the default upstream package build
elixir_install 'default'
This installs Elixir 1.19.5 from the official upstream precompiled archive, links it to /usr/local/lib/elixir, and manages /usr/bin/elixir, /usr/bin/elixirc, /usr/bin/iex, and /usr/bin/mix.
Compile Elixir from source
elixir_install 'default' do install_method :source end
Common properties
| Property | Type | Default |
|---|---|---|
version |
String | "1.19.5" |
install_method |
Symbol | :package |
install_path |
String | "/usr/local/lib/elixir" |
versions_path |
String | "/opt/elixir" |
otp_major |
String / Integer | "28" |
package_url |
String | "https://builds.hex.pm/builds/elixir/v#{version}-otp-#{otp_major}.zip" |
source_repo |
String | "https://github.com/elixir-lang/elixir.git" |
source_revision |
String | "v#{version}" |
source_path |
String | "/opt/elixir/source" |
manage_erlang |
true / false | true |
erlang_install_method |
Symbol | :esl |
erlang_source_version |
String | "26.2.5.19" |
See [documentation/elixir_elixir_install.md](documentation/elixir_elixir_install.md) for the full resource reference.
Notes
- The resource models Elixir package and source installs explicitly. Package installs use the official Hex build archive for a specific Erlang/OTP major version.
- By default, the resource manages Erlang via
erlang::esland installs the Elixir OTP 28 precompiled archive. If you need source-built Erlang instead, seterlang_install_method :sourceand optionally overrideerlang_source_version. - Current platform and dependency caveats are documented in [LIMITATIONS.md](LIMITATIONS.md).
Contributors
This project exists thanks to all the people who contribute.
Backers
Thank you to all our backers!
Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website.
elixir Cookbook CHANGELOG
This file is used to list changes made in each version of the elixir cookbook.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
4.0.0 (2026-04-22)
⚠ BREAKING CHANGES
- wrapper cookbooks, roles, and policyfiles that set node['elixir'] attributes and include_recipe 'elixir::default' must migrate to the elixir_install resource before upgrading.
Features
Bug Fixes
3.0.15 (2025-10-15)
Bug Fixes
3.0.8 - 2023-06-07
Standardise files with files in sous-chefs/repo-management
3.0.1 - 2023-02-14
- Remove delivery folder
3.0.0 - 2022-01-24
- Bump to require Chef Infra Client >= 15.3
- resolved cookstyle error: metadata.rb:22:1 refactor:
Chef/Modernize/UnnecessaryDependsChef15
2.0.3 - 2021-08-30
- Standardise files with files in sous-chefs/repo-management
2.0.2 - 2021-06-01
- Standardise files with files in sous-chefs/repo-management
2.0.1 - 2020-12-31
- resolved cookstyle error: metadata.rb:23:1 convention:
Layout/TrailingEmptyLines
2.0.0 (2020-10-15)
Changed
- Sous Chefs Adoption
- Update Changelog to Sous Chefs
- Update to use Sous Chefs GH workflow
- Update to Elixir 1.11.0
- Update README to sous-chefs
- Update metadata.rb to Sous Chefs
- Update test-kitchen to Sous Chefs
- Require newer erlang cookbook and Chef >= 14
Fixed
- Yamllint fixes
- Fix idempotency issues
Added
- Include mdlrc file
- Add CentOS 8 support
- Add Ubuntu 18.04 and 20.04 support
- Add basic InSpec tests
Removed
- Remove Amazon Linux 1 testing
- Remove un-necessary directory creation
- Remove CentOS 6 testing
- Remove OpenSUSE testing
1.1.0 (2019-10-07)
- Require the latest libarchive cookbook on Chef 12.6+ - @tas50
1.0.1 (2017-04-19)
- Remove usage of the validate cookbook that is not chef 13 compatible
1.0.0 (2017-03-15)
- This cookbook has been transferred to Chef to be maintained by the Cookbook Engineering team
- Require Chef 12.1 or later
- Depend on fairly recent releases of git, erlang, and libarchive
- Resolve all cookstyle and foodcritic warnings
- Remove the apt::default from the elixir default recipe and instead leave apt updating to the users
- Install the current stable release of elixir instead of an old release that's not published anymore
- Update ignore files
- Add github templates
- Add local delivery testing config
- Add maintainers files
- Add contributing and testing documentation
- Add full Apache 2.0 license file
- Remove deps that are in ChefDK from the Gemfile
- Update platforms in the Test Kitchen config
- Add a changelog
- Update the maintainer to be Chef
- Add source_url, issues_url and chef_version metadata
- Remove attributes from the metadata file
- Don’t use node.set for attributes as this is deprecated in Chef 13
- Add supported operating systems to the metadata
- Add Travis CI config and kitchen-dokken for integration testing in Travis
- Remove HTML from the readme so that it renders on Supermarket
- Update readme attribute document to match actual attributes
- Add requirements section and license to the readme
- Update copyright headers
Collaborator Number Metric
4.0.0 passed this metric
Contributing File Metric
4.0.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Cookstyle Metric
4.0.0 passed this metric
No Binaries Metric
4.0.0 passed this metric
Testing File Metric
4.0.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
4.0.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
4.0.0 passed this metric
4.0.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Cookstyle Metric
4.0.0 passed this metric
No Binaries Metric
4.0.0 passed this metric
Testing File Metric
4.0.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
4.0.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
4.0.0 passed this metric
4.0.0 passed this metric
Testing File Metric
4.0.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
4.0.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
4.0.0 failed this metric
4.0.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number