Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/09/2015, à 02:47

Reflexive

Ruby on Rails - le problème json

J'essaie d'utiliser Ruby on Rails, puisqu'il paraît que c'est de plus en plus demandé, mais son installation est invraisemblablement compliquée. Je vais essayer de reproduire ce que j'ai fait, dans l'espoir que quelqu'un puisse m'aider …. merci d'avance.

L'installation de Ruby lui-même n'a pas posé de problème. Faute de pouvoir spécifier une version, j'ai fini par noter :

    $ sudo apt-get install ruby

J'ai pu sans difficulté exécuter du code ruby.

La version de ruby, affichée par ruby -v, est ruby 1.9.3p484

La gestion des gems s'est apparemment installé en même temps que ruby, la commande suivante fonctionne :

    $ gem help commands

rvm en revanche est inconnu du terminal.

Si je me souviens bien, la commande suivante n'a pas marché :

    $ gem install rails

En revanche, la suivante, si :

    $ sudo apt-get install ruby-railties-4.0

Je créé un dossier de travail, je navigue jusque là, et :

    $ rails new first_app

Tout le framework est généré. Puis je fais :

    $ bundle install

Mais ça ne marche pas.

Fetching gem metadata from https://rubygems.org/............
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
Using rake (10.4.2)
Using i18n (0.7.0)
Using minitest (4.7.5)

Using jbuilder (1.5.3)
Using jquery-rails (3.1.3)
Installing json (1.8.3)
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from extconf.rb:1:in `<main>'


Gem files will remain installed in /home/alejandro/.bundler/tmp/9377/gems/json-1.8.3 for inspection.
Results logged to /home/alejandro/.bundler/tmp/9377/gems/json-1.8.3/ext/json/ext/generator/gem_make.out
An error occurred while installing json (1.8.3), and Bundler cannot continue.
Make sure that `gem install json -v '1.8.3'` succeeds before bundling.


J'essaie d'installer ce json -1.8.3 :

$ sudo gem install json -v '1.8.3'
$ sudo apt-get install json -v '1.8.3'
$ sudo gem install json

mais rien ne marche. Dans le tutoriel, le point suivant est de lancer le serveur interne

$ rails server
Could not find gem 'rails (= 4.0.2) ruby' in the gems available on this machine.
Run `bundle install` to install missing gems.

Ce qui est balaud, justement, bundle install ne marchait pas non plus.

Il est question d'utiliser rvm, qui doit faciliter la question des compatibilités, en renvoyant au site officiel https://rvm.io/rvm/install , et pour pouvoir l'installer, j'installe curl. C'est un peu pénible ces systèmes où pour pouvoir installer un truc, il faut en installer un autre. Mais que pour pouvoir installer cet autre truc, il faille en installer un autre encore. A l'arrivée, on ne comprends rien au bazar qu'on a mis dans l'ordi, et ça ne marche toujours pas.

Bref, rvm n'a pas pu s'installer parce qu'il manque une clef.

Il est aussi question d'installer rbenv, pour les même raisons, https://github.com/sstephenson/rbenv , mais je ne m'en sors toujours pas.

Si quelqu'un pouvait avoir la miséricorde de bien vouloir m'expliquer comment faire …

Merci

Alex

Hors ligne