# Ruby ### Installation de ruby #### Mettre à jour Ruby (avec homebrew): ```bash $ which ruby /usr/bin/ruby $ ruby -v ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19] $ brew install ruby $ echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.zshrc $ which ruby /usr/local/opt/ruby/bin/ruby $ ruby -v ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin19] ``` #### Ajouter au $PATH (.zshrc): ```bash export PATH="/usr/local/opt/ruby/bin:$PATH" export PATH=/Users/bruno/.gem/ruby/2.6.0/bin:$PATH ``` #### Aide: ```bash $ gem help examples Some examples of 'gem' usage. ``` ```bash $ gem help commands GEM commands are: build Build a gem from a gemspec cert Manage RubyGems certificates and signing settings check Check a gem repository for added or missing files cleanup Clean up old versions of installed gems contents Display the contents of the installed gems dependency Show the dependencies of an installed gem environment Display information about the RubyGems environment fetch Download a gem and place it in the current directory generate_index Generates the index files for a gem server directory help Provide help on the 'gem' command info Show information for the given gem install Install a gem into the local repository list Display local gems whose name matches REGEXP lock Generate a lockdown list of gems manpages Handling manpages in gems mirror Mirror all gem files (requires rubygems-mirror) open Open gem sources in editor outdated Display all gems that need updates owner Manage gem owners of a gem on the push server pristine Restores installed gems to pristine condition from files located in the gem cache push Push a gem up to the gem server query Query gem information in local or remote repositories rdoc Generates RDoc for pre-installed gems search Display remote gems whose name matches REGEXP server Documentation and gem repository HTTP server signin Sign in to any gemcutter-compatible host. It defaults to https://rubygems.org signout Sign out from all the current sessions. sources Manage the sources and cache file RubyGems uses to search for gems specification Display gem specification (in yaml) stale List gems along with access times uninstall Uninstall gems from the local repository unpack Unpack an installed gem to the current directory update Update installed gems to the latest version which Find the location of a library file you can require yank Remove a pushed gem from the index For help on a particular command, use 'gem help COMMAND'. ``` #### Environnment: ```bash $ gem environment RubyGems Environment: - RUBYGEMS VERSION: 3.0.6 - RUBY VERSION: 2.6.5 (2019-10-01 patchlevel 114) [x86_64-darwin19] - INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/2.6.0 - USER INSTALLATION DIRECTORY: /Users/bruno/.gem/ruby/2.6.0 - RUBY EXECUTABLE: /usr/local/opt/ruby/bin/ruby - GIT EXECUTABLE: /usr/local/bin/git - EXECUTABLE DIRECTORY: /usr/local/lib/ruby/gems/2.6.0/bin - SPEC CACHE DIRECTORY: /Users/bruno/.gem/specs - SYSTEM CONFIGURATION DIRECTORY: /usr/local/Cellar/ruby/2.6.5/etc - RUBYGEMS PLATFORMS: - ruby - x86_64-darwin-19 - GEM PATHS: - /usr/local/lib/ruby/gems/2.6.0 - /Users/bruno/.gem/ruby/2.6.0 - /usr/local/Cellar/ruby/2.6.5/lib/ruby/gems/2.6.0 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - https://rubygems.org/ - SHELL PATH: - /Users/bruno/.nvm/versions/node/v12.13.0/bin - /Users/bruno/Documents/Scripts - /Users/bruno/.gem/ruby/2.6.0/bin - /usr/local/opt/ruby/bin - /usr/local/sbin - /usr/local/bin - /usr/bin - /bin - /usr/sbin - /sbin - /Library/TeX/texbin - /usr/local/MacGPG2/bin - /opt/X11/bin $ gem environment gemdir /usr/local/lib/ruby/gems/2.6.0 $ gem environment gempath /Users/bruno/.gem/ruby/2.6.0:/usr/local/lib/ruby/gems/2.6.0:/usr/local/Cellar/ruby/2.6.5/lib/ruby/gems/2.6.0 ``` ### Gem #### Installer un gem: ```bash $ gem install color_echo Fetching color_echo-3.1.1.gem Thank you for installing! =(^x^= See also http://colorecho.github.io Successfully installed color_echo-3.1.1 Parsing documentation for color_echo-3.1.1 Installing ri documentation for color_echo-3.1.1 Done installing documentation for color_echo after 0 seconds 1 gem installed # Installer une version spécifique: $ gem install color_echo -v 3.1.0 ``` #### Installer un gem en local: ```bash $ gem install colorls --user-install ``` #### Mettre à jour un gem: ```bash $ gem update colorls Updating installed gems ``` #### Mettre à jour tous les gems: ```bash $ gem update Updating installed gems ``` La mise-à-jour ne supprime pas les anciennes versions. Utiliser la commande *cleanup* . #### Liste des gems installés: ```bash $ gem list *** LOCAL GEMS *** bigdecimal (default: 1.4.1) bundler (default: 1.17.3) clocale (0.0.4) ... ``` #### Où un gem est installé: ```bash # installé avec gem install colorls --user-install $ gem list -d colorls *** LOCAL GEMS *** colorls (1.2.0) Author: Athitya Kumar Homepage: https://github.com/athityakumar/colorls License: MIT Installed at: /Users/bruno/.gem/ruby/2.6.0 A Ruby CLI gem that beautifies the terminal's ls command, with color and font-awesome icons. ``` ```bash # installé avec gem install martilla $ gem list -d martilla *** LOCAL GEMS *** martilla (0.4.0) Author: Fernando Valverde Homepage: https://github.com/fdoxyz/martilla License: MIT Installed at: /usr/local/lib/ruby/gems/2.6.0 Easy to configure backup tool for simple everyday use ``` ```bash $ gem which martilla /usr/local/lib/ruby/gems/2.6.0/gems/martilla-0.4.0/lib/martilla.rb ```