La dernière fois, nous avons installé RVM et ruby. Il est grand temps d’installer rails et de créer notre projet.
Installation de rails
Pour l’installation de nouveau packages c’est RubyGems qui s’en charge. Une petite ligne de commande : $gem install rails
Si vous avez eu une erreur lors de cette commande du style :
ERROR: Loading command: install (LoadError)
no such file to load — zlib
ERROR: While executing gem … (NameError)
uninitialized constant Gem::Commands::InstallCommand
Il faut supprimer la version de ruby, installer le package zlib et réinstaller votre version via rvm :
$rvm remove 1.9.3-p125
$rvm pkg install zlib
$rvm install 1.9.3-p125
$gem install rails
Création du projet « Pibou »
Une ligne de commande :
$rails new pibou
Et voila votre nouveau projet, mais que s’est-il passé ?
- Création de toute l’arborescence du projet
- Utilisation de Bundler pour récupérer toutes les gems définies dans le Gemfile
Pour l’arborescence, nous allons la découvrir plus en détails au prochain article.
En ce qui concerne Bundler, c’est un gestionnaire de dépendances qui utilise un fichier de configuration que vous pouvez voir dans « /pibou/Gemfile ». C’est un mécanisme similaire à celui de maven avec ses fichiers pom.xml, l’analogie s’arrêtera là.
Il faut d’ailleurs éditer le fichier « /pibou/Gemfile » pour s’éviter une erreur de configuration de runtime JavaScript. Une ligne est prévue à cet effet :
# See https://github.com/sstephenson/execjs # readme for more supported runtimes # gem 'therubyracer'
Il suffit de dé-commenter la ligne 18. Puis d’appliquer ces changements via une commande lancée depuis la racine du projet :
$bundle install
Déploiement
Une ligne de commande :
$rails server
Un serveur WEBrick est lancé sur le port 3000 et vous pouvez accéder à votre application en local (127.0.0.1:3000) via votre navigateur préféré. La page que l’on peut voir est en fait une page html statique qui est disponible dans le répertoire « /pibou/public/index.html »
Et ensuite ?
Nous avons installé rails et créé le projet. Dans le prochain épisode :
- Génération du code
- Tour d’horizon du projet
@bientôt


