Ruby

De Linuxmemo.

(Différences entre les versions)
(Ruby $VERBOSE et $DEBUG)
 
(33 versions intermédiaires masquées)
Ligne 1 : Ligne 1 :
[[Catégorie:Language]]
[[Catégorie:Language]]
-
==gem==
+
==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.
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.
Ligne 12 : Ligne 12 :
Si le gem se trouve dans le registre des gems distants , vous devez exécuter :
Si le gem se trouve dans le registre des gems distants , vous devez exécuter :
  gem install leNomDeMonGem
  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 :
Si vous avez déjà télécharger le fichier .gem, allez dans le répertoire où se trouve le .gem, et exécutez :
Ligne 29 : Ligne 30 :
*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==
 +
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
 +
 
 +
==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
 +
 
 +
==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 !
 +
 
 +
===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
 +
 
 +
===Utilisation===
 +
Voir: [[Rvm]]
 +
 
 +
===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
 +
 
 +
===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
 +
 
 +
==.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
 +
 
 +
 
 +
==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