Notices: This section not yet converted to new layout. Download stats are rolling back out.

This is not the latest version of Ruby available.


There are no package test results for this package

This package was submitted prior to moderation and has not been approved. While it is likely safe for you, there is more risk involved.

Ruby - A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.

To install Ruby, run the following command from the command line or from PowerShell:

C:\> choco install ruby --version

To upgrade Ruby, run the following command from the command line or from PowerShell:

C:\> choco upgrade ruby --version


  • tools\chocolateyInstall.ps1 Show
    try {
      # Temporary include function until it is included with Chocolatey
      $thisDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
      if (!(Get-Command Get-BinRoot -errorAction SilentlyContinue))
        Import-Module "$($thisDir)\Get-BinRoot.ps1"
      # Calculate $binRoot
      $binRoot = Get-BinRoot
      # $rubyFolder = '187'
      # $url = ''
      # $checksum = '2e33a098f126275f7cb29ddcd0eb9845'
      # $rubyFolder = '193'
      # $url = ''
      # $checksum = '05398a6cd920ccd297c28150a935ef72'
      $rubyFolder = '200'
      $url = ''
      $checksum = '723ae8cda24a86c16914582a340deece'
      $url64 = ''
      $checksum64 = 'a6ab3963c571055cba649237d3f4a771'
      # $rubyFolder = '213'
      # $url = ''
      #$checksum = 'e5e2c028d76895e9da6c3c86965fc747'
      # $url64 = ''
      #$checksum64 = '0f29131a6852cf92382c082eaf1dfd34'
      $rubyPath = join-path $binRoot $('ruby' + "$rubyFolder")
      $silentArgs = "/verysilent /dir=`"$rubyPath`" /tasks=`"assocfiles,modpath`""
      Install-ChocolateyPackage 'ruby' 'exe' "$silentArgs" "$url" "$url64" #-checksum $checksum -checksum64 $checksum64
      $rubyBin = join-path $rubyPath 'bin'
      Write-Host "Adding `'$rubyBin`' to the local path"
      $env:Path = "$($env:Path);$rubyBin"
      # # Install and configure pik
      # Write-Host "Now we are going to install pik and set up the folder - so Ruby is pointed to the correct version"
      # $nugetBin = join-path $env:ChocolateyInstall 'bin'
      # #$gem = 'gem.bat'
      # $pikInstall = 'pik_install.bat'
      # & gem install pik
      # & $pikInstall "$nugetBin"
      # & pik add $rubyBin
      # & pik use $rubyFolder
      Write-ChocolateySuccess 'ruby'
    } catch {
      Write-ChocolateyFailure 'ruby' $($_.Exception.Message)
  • tools\Get-BinRoot.ps1 Show
    function Get-BinRoot {
        # Since CamelCase was decided upon when $env:ChocolateyInstall was first invented, whe should stick to this convention and use $env:ChocolateyBinRoot.
        # I propose:
        #    1) all occurances of $env:chocolatey_bin_root be replaced with $env:ChocolateyBinRoot;
        #    2) Make the new Chocolatey Installer for new users explicitly set (if not exists) $env:ChocolateyInstall and $env:ChocolateyBinRoot as environment variables so users will smile and understand;
        #    3) Make new Chocolatey convert old $env:chocolatey_bin_root to $env:ChocolateyBinRoot
        # For now, check old var first
        if($env:ChocolateyBinRoot -eq $null) { # If no value
            if($env:chocolatey_bin_root -eq $null) { # Try old var
                $binRoot = "$env:ChocolateyInstall\bin"
            else {
                $env:ChocolateyBinRoot = $env:chocolatey_bin_root
        # My ChocolateyBinRoot is C:\Common\bin, but looking at other packages, not everyone assumes ChocolateyBinRoot is prepended with a drive letter.
        if (-not($env:ChocolateyBinRoot -imatch "^\w:")) {
            # Add drive letter
            $binRoot = join-path $env:systemdrive $env:ChocolateyBinRoot
        else {
            $binRoot = $env:ChocolateyBinRoot
        # Now that we figured out the binRoot, let's store it as per proposal #3 line #7
        if(-not($env:ChocolateyBinRoot -eq $binRoot)) {
            [Environment]::SetEnvironmentVariable("ChocolateyBinRoot", "$binRoot", "User")
            # Note that user variables pose a problem when there are two admins on one computer. But this is what was decided upon.
        return $binRoot

Virus Scan Results

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.


This package has no dependencies.

Package Maintainer(s)

Software Author(s)

  • Yukihiro Matsumoto


Version History

Version Downloads Last updated Status
Ruby 6562 Monday, October 22, 2018 approved
Ruby 15438 Monday, June 25, 2018 approved
Ruby 15037 Friday, March 30, 2018 approved
Ruby 6994 Wednesday, February 28, 2018 approved
Ruby 16780 Tuesday, December 26, 2017 approved
Ruby 5854 Wednesday, December 20, 2017 approved
Ruby 22520 Tuesday, September 19, 2017 approved
Ruby 16733 Wednesday, July 5, 2017 approved
Ruby 10715 Friday, May 26, 2017 approved
Show More

Discussion for the Ruby Package

Ground rules:

  • This discussion is only about Ruby and the Ruby package. If you have feedback for Chocolatey, please contact the google group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or Ruby, or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.

comments powered by Disqus uses cookies to enhance the user experience of the site.