cookbook 'ruby_rbenv', '= 2.0.0'
ruby_rbenv
(53) Versions
2.0.0
-
-
5.0.22
-
5.0.21
-
5.0.20
-
5.0.19
-
5.0.18
-
5.0.17
-
5.0.16
-
5.0.15
-
5.0.14
-
5.0.13
-
5.0.12
-
5.0.11
-
5.0.10
-
5.0.9
-
5.0.8
-
5.0.7
-
5.0.6
-
5.0.5
-
5.0.4
-
5.0.3
-
5.0.2
-
5.0.1
-
5.0.0
-
4.0.1
-
4.0.0
-
3.0.0
-
2.6.0
-
2.5.1
-
2.5.0
-
2.4.0
-
2.3.2
-
2.3.1
-
2.3.0
-
2.2.0
-
2.1.3
-
2.1.2
-
2.1.1
-
2.1.0
-
2.0.9
-
2.0.8
-
2.0.7
-
2.0.6
-
2.0.5
-
2.0.4
-
2.0.3
-
2.0.2
-
2.0.1
-
2.0.0
-
1.2.1
-
1.2.0
-
1.1.0
-
1.0.1
-
1.0.0
Follow18
- 5.0.22
- 5.0.21
- 5.0.20
- 5.0.19
- 5.0.18
- 5.0.17
- 5.0.16
- 5.0.15
- 5.0.14
- 5.0.13
- 5.0.12
- 5.0.11
- 5.0.10
- 5.0.9
- 5.0.8
- 5.0.7
- 5.0.6
- 5.0.5
- 5.0.4
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 4.0.1
- 4.0.0
- 3.0.0
- 2.6.0
- 2.5.1
- 2.5.0
- 2.4.0
- 2.3.2
- 2.3.1
- 2.3.0
- 2.2.0
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.9
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.2.1
- 1.2.0
- 1.1.0
- 1.0.1
- 1.0.0
Manages rbenv and installs Rbenv based Rubies
cookbook 'ruby_rbenv', '= 2.0.0', :supermarket
knife supermarket install ruby_rbenv
knife supermarket download ruby_rbenv
Chef ruby_rbenv Cookbook
Description
Manages rbenv and its installed Rubies.
Several custom_resources are defined facilitate this.
WARNING: As of version 1.0 this cookbook was renamed from rbenv to ruby_rbenv so it could be uploaded to the Supermarket.
Requirements
Chef
This cookbook requires Chef 12.9+.
Platform
- Debian derivatives
- Fedora
- macOS
- RHEL derivatives (RHEL, CentOS, Amazon Linux, Oracle, Scientific Linux)
- openSUSE and openSUSE leap
Usage
Gem
Used to install a gem into the selected rbenv environment.
rbenv_gem 'gem_name' do options # Optional: Options to pass to the gem command e.g. '--no-rdoc --no-ri' source # Optional: source URL/location for gem. timeout # Optional: Gem install timeout version # Optional: Gem version to install response_file # Optional: response file to reconfigure a gem rbenv_version # Which rbenv verison to install the gem to. Defaults to global end
Global
rbenv_global '2.3.4' do user # Optional: if passed sets the users global version. Do not set, to set the systems global version end
If a user is passed in to this resource it sets the global version for the user, under the users root_path (usually ~/.rbenv/version
), otherwise it sets the system global version.
Plugin
Installs a rbenv plugin.
rbenv_plugin 'ruby-build' do git_url # Git URL of the plugin git_ref # Git reference of the plugin user # Optional: if passed installs to the users rbenv. Do not set, to set installs to the system rbenv. end
If user is passed in, the plugin is installed to the users install of rbenv.
Rehash
rbenv_rehash 'rehash' do user 'vagrant' # Optional: if passed rehashes the user Ruby otherwise rehashes the system rbenv end
Ruby
Installs a given Ruby version to the system or user location.
rbenv_ruby '2.3.4' do user # Optional: If passed the user rbenv to install to rbenv_action # Optional: the action to perform, install, remove etc end
Shorter example rbenv_ruby '2.4.1'
Script
Runs a rbenv aware script.
rbenv_script 'foo' do rbenv_version #rbenv version to run the script against environment # Optional: Environment to setup to run the script user # Optional: User to run as group # Optional: Group to run as path # Optional: User to run as returns # Optional: Expected return code code # Script code to run end
System_install
Installs rbenv to the system location, by default /usr/local/rbenv
rbenv_system_install 'foo' git_url # URL of the plugin repo you want to checkout git_ref # Optional: Git reference to checkout update_rbenv # Optional: Keeps the git repo up to date end
User_install
Installs rbenv to the user path, making rbenv available to that user only.
rbenv_user_install 'vagrant' do git_url # Optional: Git URL to checkout rbenv from. git_ref # Optional: Git reference to checkout e.g. 'master' user # Which user to install rbenv to (also specified in the resources name above) end
System-Wide Mac Installation Note
This cookbook takes advantage of managing profile fragments in an /etc/profile.d
directory, common on most Unix-flavored platforms. Unfortunately, Mac OS X does not support this idiom out of the box, so you may need to modify your user profile.
Development
- Source hosted at GitHub
- Report issues/Questions/Feature requests on GitHub Issues
Pull requests are very welcome! Make sure your patches are well tested.
License and Author
- Author:: Fletcher Nichol (fnichol@nichol.ca)
- Author:: Dan Webb
Copyright 2011, Fletcher Nichol
Copyright 2017, Dan Webb
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Dependent cookbooks
This cookbook has no specified dependencies.
Contingent cookbooks
2.0.0 (2017-07-24)
- Switch libraries to custom resources
- Use gem install from core Chef
- Add rbenv_system_install resource
- Remove system_install recipe. Please see the system_install test recipe for usage.
- Remove user_install recipe. Please see the user_install test recipe for usage.
- Removed all other recipes for consistent usage.
- Remove FreeBSD "support" (the platform isn't currently tested)
- Remove Arch Linux support in README. We never really supported this, and it isn't tested
- Update required chef-version to the one we test with (Chef 12.19+)
Known Current Bugs
- Installing Ruby 2.3.1 on Fedora requires a patched version of 2.3.1. As patching is currently unavailable please pin to a prior version if you need this installing.
1.2.1 (June 23, 2017)
- Fixed resource failures on Chef 13
- Updated the Apache license string to a SPDX compliant string
- Added Travis testing for Chef 12 and 13
- Switched testing from Rake to local delivery
1.2.0 (April 11, 2017)
- Migrated maintenance of this cookbook to Sous Chefs
- Remove the check to see if the homebrew provider exists since this always exists in Chef 12 and the code failed on Chef 13
- Added checks to user install recipes to avoid breaking if the rbenv_home does not exist
- Removed test deps from the Gemfile as we should be testing with ChefDK
- Removed the "suggests 'java'" metadata as suggests was never implemented in Chef and has been removed from Chef 13
- Bumped the required Chef release from 12.0 to 12.1
1.1.0 (July 17, 2016)
- Restored compatibility for platforms that don't yet support multipackage installs in Chef (BSD and OS X in particular)
- Updated to Grab rbenv from the new repo URL and use https vs. git for compatibility
- Added missing Chefspec matchers
- Enabled use_inline_resources in all providers
- Added chef_version metadata to metadata.rb
- Added source_url and issues_url metadata to metadata.rb
- Added bash a depedency for FreeBSD
- Switched Travis testing to Kitchen Dokken
- Added a chefignore file to limit the files uploaded to the chef server
- Switched linting from Rubocop to Cookstyle (rubocop wrapper by Chef)
1.0.1 (October 24, 2015)
- Fixed failure with rehashing after the cookbook was renamed
1.0.0 (October 12, 2015)
WARNING: Cookbook has been renamed
- Renamed to ruby_rbenv and uploaded to Supermarket (all attributes rename in the rbenv cookbook). If you wrap this cookbook you're going to need to update the recipes you include. All providers have been updated to keep their existing rbenv_xyz names for backwards compatibility and attributes still maintain the rbenv namespace.
- Updated Travis config to run integration tests in Travis using kitchen-docker
0.9.0 (October 12, 2015)
- Fixed base platform case statement in the cookbook that set install_pkgs and user_home_root attributes. This has been converted to a platform_family statement to better support derivitive operating systems and the attributes are set at default levels so they can be overwritten in wrapper cookbooks
- Updated Travis to test using Chef DK vs. Gem installs
- Fixed Chefspecs and Test Kitchen bats tests to all pass
- Added the Apache 2.0 license file
- Updated and added new development dependencies to the Gemfile
- Use Chef 12.1+ multi-package installs for the dependency packages to speed up installs
- Removed the empty Vagrant recipe
- Actually depend on ruby_version vs. suggests since suggests isn't implemented in Chef
0.8.1 (August 28, 2015)
- Add rbenv_action attribute to rbenv_ruby LWRP so to allow using rvm-download rbenv plugin to download ruby vs. installing ruby
- Fix the ability to install gems to a specific version of ruby
- Remove Chef version checks around use_inline_resources since we require Chef 12
- Use default_action method in the LWRPs
- Fix various rubocop warnings
0.8.0 (July 27, 2015)
- Drop support for Chef versions prior to 12
- Add Arch linux support
- Add Linux mint support
0.7.3 (July 8, 2015)
Bug Fixes
- Issue #91 #79 #92: Add matchers for rbenv_gem and rbenv_ruby. (@tduffield and many others)
- Issue #107: "Option name must be a kind of String!" when installing gems.
- Issue #101: Use full class name for rbenv_rehash resource
- Fix undefined method `timeout' for LWRP resource rbenv_gem. (@nathantsoi and others)
- Issue #110: Chef 12.3.0 - undefined method `clear_sources' for Chef::Resource::RbenvGem. (@tatat and others)
Improvements
- Fork from https://github.com/fnichol/chef-rbenv
0.7.2 (December 31, 2012)
Bug Fixes
Improvements
- Add integration tests for a system Ruby version. (@fnichol)
0.7.1 (unreleased)
Bug Fixes
- Pull request #36: Use the ruby name as the definition to install (@gsandie)
- Pull request #55: Fix some CHEF-3694 warnings when using with ruby_build (@trinitronx)
New features
- Pull request #26: Allow setting environment vars per ruby install (@jasherai)
- Pull request #37: Allows use
include_recipe("ruby_build")
instead of having to put it in therun_list
(@tjwallace) - Pull request #42: Load rbenv environment after install (@msaffitz)
- Pull request #62: Add Gentoo as supported platform (@gentooboontoo)
Improvements
- Pull request #46: Add a
definition_file
attribute to therbenv_ruby
resource to prevent continually trying to build a custom ruby when passed a build file name instead of a built-in definition (@jf647) - Pull request #60: Support
definition_file
in rubies definition (@cyu) - Pull request #75: Update testing support and add unit tests for existing resources (@fnichol)
- Pull request #70: Support ruby 2.1.0 (@WhyEee)
0.7.0 (November 21, 2012)
Bug Fixes
New features
- Pull request #20: Set an attribute to create profile.d for user install. (@jtimberman)
Improvements
- Pull request #12: Add name attribute to metadata. (@jtimberman)
- Update foodcritic configuration and update .travis.yml. (@fnichol)
- Update Installation section of README (welcome Berkshelf). (@fnichol)
0.6.10 (May 18, 2012)
New features
Improvements
- Add other platform supports in metadata.rb and README. (@fnichol)
0.6.8 (May 6, 2012)
Improvements
- Add official hook resource log[rbenv-post-init-*] for inter-cookbook integration. (@fnichol)
0.6.6 (May 4, 2012)
Bug Fixes
- Fix FC022: Resource condition within loop may not behave as expected. (@fnichol)
- Add plaform equivalents in default attrs (FC024). (@fnichol)
- Ensure update-java-alternatives is called before JRuby is built. (@fnichol)
- Pull request #8: Add /etc/profile.d/rbenv.sh support for user installs. (@thoughtless)
Improvements
- Add TravisCI to run Foodcritic linter. (@fnichol)
- Pull request #10: README proofreading. (@jdsiegel)
- README updates. (@fnichol)
- Confirm debian platform support. (@fnichol)
0.6.4 (February 23, 2012)
Bug Fixes
- Set
root_path
on rbenv_rehash in rbenv_gem provider. (@fnichol)
Improvements
0.6.2 (February 22, 2012)
Bug Fixes
- Issues #1, #2: Stub mixins in RbenvRubygems to avoid libraries load ordering issues. (@fnichol)
- Pull request #5: Include user setting in rehash calls. (@magnetised)
- Issue #4: Fix rbenv/gems hash parsing. (@fnichol)
Improvements
- Large formatting updates to README. (@fnichol)
- Add gh-pages branch for sectioned README at https://fnichol.github.com/chef-rbenv
0.6.0 (December 21, 2011)
The initial release.
Collaborator Number Metric
2.0.0 passed this metric
Contributing File Metric
2.0.0 passed this metric
Foodcritic Metric
2.0.0 passed this metric
License Metric
2.0.0 passed this metric
No Binaries Metric
2.0.0 passed this metric
Testing File Metric
2.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
2.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
2.0.0 passed this metric
2.0.0 passed this metric
Foodcritic Metric
2.0.0 passed this metric
License Metric
2.0.0 passed this metric
No Binaries Metric
2.0.0 passed this metric
Testing File Metric
2.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
2.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
2.0.0 passed this metric
2.0.0 passed this metric
No Binaries Metric
2.0.0 passed this metric
Testing File Metric
2.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
2.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
2.0.0 passed this metric
2.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
2.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
2.0.0 failed this metric