Ruby

De Linuxmemo.

(Différences entre les versions)
(RVM behind a proxy)
(Ruby $VERBOSE et $DEBUG)
 
(14 versions intermédiaires masquées)
Ligne 31 : Ligne 31 :
*Lister les Gems déjà installés
*Lister les Gems déjà installés
  gem list
  gem list
 +
 +
*Où sont installées mes gem ???
 +
'''gem env'''
 +
--Rvm
 +
$ rvm gemdir
 +
Or you can check:
 +
echo $GEM_HOME
 +
--Bundler
 +
$ bundle show --paths
 +
--For specific gem:
 +
$ bundle show 'gem_name'
 +
--Gem
 +
$ gem env
 +
For specific gem:
 +
$ gem which 'gem_name'
 +
 +
*Gem sources list
 +
gem sources [options]
 +
Options:
 +
    -a, -​-add SOURCE_URI - Add source
 +
    -l, -​-list - List sources
 +
    -r, -​-remove SOURCE_URI - Remove source
 +
    -c, -​-clear-all - Remove all sources (clear the cache)
 +
    -u, -​-update - Update source cache
==Configuration et proxy==
==Configuration et proxy==
Fichier .gemrc
Fichier .gemrc
  cat ~/.gemrc  
  cat ~/.gemrc  
-
  http-proxy: http://172.0.0.23:8080
+
---
 +
:backtrace: false
 +
:bulk_threshold: 1000
 +
:sources:
 +
- http://rubygems.org/
 +
:update_sources: true
 +
:verbose: true
 +
  http-proxy: http://172.xx.251.23:8080
 +
https-proxy: https://172.xx.251.23:8080
==Gemfile==
==Gemfile==
Ligne 42 : Ligne 74 :
Puis dans le rep où ce trouve le Gemfile
Puis dans le rep où ce trouve le Gemfile
  bundle install
  bundle install
 +
ou
 +
bundle install --system
 +
Force bundle install to use https:// instead of git:// for GitHub-based gems
 +
git config --global url."https://github.com".insteadOf git://github.com
==Ruby Version Manager - RVM==
==Ruby Version Manager - RVM==
Ligne 56 : Ligne 92 :
  PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
  PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
  source ~/.rvm/scripts/rvm
  source ~/.rvm/scripts/rvm
-
  rvm list
+
  rvm list known
doit vous donner la liste de toutes les version de Ruby disponibles.
doit vous donner la liste de toutes les version de Ruby disponibles.
-
===Utilisation===
+
test:
-
*Pour installer la version 1.9.2 de Ruby, tapez :
+
  rvmtest() {
-
  rvm install 1.9.2
+
  type rvm|head -1 #rvm est une fonction
-
L’installation de Ruby commence. Lorsqu’elle est terminée tapez :
+
-
  rvm --default ruby-1.9.2
+
-
 
+
-
Rvm doit vous indiquer avoir sélectionné la version 1.9.2 de Ruby, qui sera utilisée par défaut lorsque vous ouvrirez un terminal. Pour vérifier, tapez :
+
  ruby -v
  ruby -v
-
Ruby doit alors vous indiquer son numéro de version. Tout fonctionne ! Pour changer de version de Ruby, installez-en une autre puis utilisez la commande suivante :
+
which ruby
 +
}
 +
rvmtest
-
rvm use <no_version>
+
===Utilisation===
-
Par exemple rvm use 1.8.7
+
Voir: [[Rvm]]
-
 
+
-
Pour installer Rails, tapez la commande suivante (en rajoutant -v=x.x.x si vous voulez installer une version précise) :
+
-
gem install rails
+
===Bugs===
===Bugs===
Ligne 131 : Ligne 162 :
  http-proxy: http://172.21.251.23:8080
  http-proxy: http://172.21.251.23:8080
  https-proxy: https://172.21.251.23:8080
  https-proxy: https://172.21.251.23:8080
 +
 +
 +
==Ruby $VERBOSE et $DEBUG==
 +
https://docs.ruby-lang.org/en/2.3.0/globals_rdoc.html
 +
 +
https://mislav.net/2011/06/ruby-verbose-mode/
 +
 +
==Ruby help==
 +
*lister les classes
 +
objet.class
 +
*lister les methodes
 +
objet.methods

Version actuelle en date du 7 octobre 2021 à 11:17

Sommaire

[modifier] Gem

Un Gem est un paquet fournit par la communauté de Ruby.On peut comparer ça en quelque sorte a un "zip", il contient le module à installer, et un descripteur qui est utiliser pour l'installer (et lu automatiquement par RubyGems). Le Gem peut être téléchargé manuellement ou automatiquement via RubyGems.

http://rubygems.org/

http://docs.rubygems.org/read/book/1

http://rubyforge.org/projects/rubygems

  • Pour installer un Gem, il y a deux méthodes :

Si le gem se trouve dans le registre des gems distants , vous devez exécuter :

gem install leNomDeMonGem
gem install msgpack -v 0.4.6

Si vous avez déjà télécharger le fichier .gem, allez dans le répertoire où se trouve le .gem, et exécutez :

gem install leNomDeMon.gem
  • Rechercher un Gem
gem search paterne -r

Le "-r" sert a indiquer a RubyGems de chercher le Gem sur le serveur distant.

  • Désinstaller un Gem
gem uninstall leNomDeMonGem
  • Mettre a jour
gem update leNomDeMonGem

Ou pour mettre à jour tout les gems :

gem update
  • Lister les Gems déjà installés
gem list
  • Où sont installées mes gem ???
gem env
--Rvm
$ rvm gemdir
Or you can check:
echo $GEM_HOME
--Bundler
$ bundle show --paths
--For specific gem:
$ bundle show 'gem_name'
--Gem
$ gem env
For specific gem:
$ gem which 'gem_name'
  • Gem sources list
gem sources [options]
Options:
   -a, -​-add SOURCE_URI - Add source
   -l, -​-list - List sources
   -r, -​-remove SOURCE_URI - Remove source
   -c, -​-clear-all - Remove all sources (clear the cache)
   -u, -​-update - Update source cache

[modifier] Configuration et proxy

Fichier .gemrc

cat ~/.gemrc 
---
:backtrace: false
:bulk_threshold: 1000
:sources:
- http://rubygems.org/
:update_sources: true
:verbose: true
http-proxy: http://172.xx.251.23:8080
https-proxy: https://172.xx.251.23:8080

[modifier] Gemfile

Gemfile est un fichier d'installation automatique des dépendance gem pour un logiciel ou un script. Il se gère avec Bundler.

gem install bundler

Puis dans le rep où ce trouve le Gemfile

bundle install
ou
bundle install --system

Force bundle install to use https:// instead of git:// for GitHub-based gems

git config --global url."https://github.com".insteadOf git://github.com

[modifier] Ruby Version Manager - RVM

Source: http://cplusn.com/2011/12/installer-rvm-sur-ubuntu/

RVM permet d’installer facilement plusieurs environnement Ruby sur une même machine. Mais il apporte un tel confort dans l’installation de Ruby (et en particulier de la version 1.9.2 qui n’est pas encore dans les dépôts officiels de Canonical) que même pour une seule version de Ruby, je ne saurais plus m’en passer !

[modifier] Install

Ne pas installer la version des dépôts Ubuntu car obsolète. Installer sous le compte utilisateur, la version rvm.io.

curl -sSL https://get.rvm.io | bash
vim ~\.bashrc
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
source ~/.rvm/scripts/rvm
rvm list known

doit vous donner la liste de toutes les version de Ruby disponibles.

test:

rvmtest() {
type rvm|head -1 #rvm est une fonction
ruby -v
which ruby
}
rvmtest

[modifier] Utilisation

Voir: Rvm

[modifier] Bugs

  • Optionnel : si comme moi, vous avez un message d’erreur en installant rails indiquant l’absence de zlib, vous pouvez essayer les commandes suivantes :
rvm pkg install zlib
rvm remove 1.9.2
rvm install 1.9.2

[modifier] RVM behind a proxy

  • install
apt-get install build-essential
apt-get install curl
apt-get install zlib1g-dev libreadline-dev libssl-dev libxml2-dev
curl -sSL https://get.rvm.io | bash -s stable
Append the following line to your ~/.bashrc file.
 -s "$HOME/.rvm/scripts/rvm"  && . "$HOME/.rvm/scripts/rvm"  # This loads RVM
And then reload your bash environment (or close the terminal window and open a new one).
source ~/.bashrc
rvm requirements
rvm install 1.9.3
rvm use 1.9.3


  • Export your shell environment for http proxy use
export http_proxy="http://hostname:port" or save it to your shell profile. (i.e. ~/.bash_rc)
export http_proxy="http://example.proxy_name.com:80"
  • For multi-user installs, use sudo -E to preserve the proxy settings in your environment:
curl -L https://get.rvm.io | sudo -E bash -s stable
  • Setting git to use a proxy

Set your git tool to use the environment proxy inside you ~/.gitconfig

[http]
proxy = %http_proxy%
  • Using RVM behind a proxy

There are a few ways to use RVM from behind a proxy.

--proxy

You can pass the proxy sever to use directly to RVM:

rvm install X --proxy $domain_or_ip:$port

Using CURL

Set the proxy inside your ~/.curlrc:
proxy = example.proxy_name.com:80

[modifier] .gemrc

cat .gemrc 
---
:backtrace: false
:bulk_threshold: 1000
:sources:
- http://rubygems.org/
:update_sources: true
:verbose: true
http-proxy: http://172.21.251.23:8080
https-proxy: https://172.21.251.23:8080


[modifier] Ruby $VERBOSE et $DEBUG

https://docs.ruby-lang.org/en/2.3.0/globals_rdoc.html

https://mislav.net/2011/06/ruby-verbose-mode/

[modifier] Ruby help

  • lister les classes
objet.class
  • lister les methodes
objet.methods
Outils personnels