web-dev-qa-db-fra.com

Pourquoi est-il si difficile d'installer Ruby sur Rails sur Ubuntu?

J'ai passé quelques heures ce matin à essayer de configurer Rails sur une nouvelle instance d'Ubuntu et j'ai constaté que le processus est incroyablement plus compliqué que sous Windows. Sur Windows, je vais sur rubyinstaller.org, lance le fichier exécutable (la version 1.9.2-p180 m'intéressant particulièrement), puis ajuste le chemin système en conséquence. Rails ne nécessite également aucune étape supplémentaire, je peux cloner un référentiel git et commencer à démarrer.

Sur Ubuntu, je devais installer le RVM (ce que j'aurais pu faire aussi pour Windows), installer les prérequis énumérés, faire échec à apt-get, car un grand nombre de ces packages n'étaient plus disponibles. J'ai ensuite finalement lancé rvm install uniquement pour découvrir que make ne fonctionnait pas. J'ai donc dû commenter manuellement un ensemble de dépendances sur openssl à partir de l'un des fichiers .c et le reconstruire, puis il a finalement été installé. . Rails était encore loin d'être terminé cependant, j'ai donc dû installer un autre paquet de conditions préalables, éditer un fichier supplémentaire dans la source Ruby et l'exécuter, puis je pouvais enfin obtenir Rails console même commencer.

Est-ce assez normal? Devrais-je m'attendre à ce que tout prenne quelques heures de plus sur ubuntu si je vais développer des applications Rails? Je devais consulter au moins 3 ou 4 guides pour la version 11.04 et au moins 5 messages de débordement de pile différents pour que la chose fonctionne, cela me semble être une expérience utilisateur très traumatisante.

12
Alexandr Kurilin

En ce qui concerne les raisons pour lesquelles votre expérience a été difficile, je ne suis pas sûr que l’on puisse y répondre sans davantage de connaissances sur ce que vous avez fait exactement. En ce qui concerne votre question de "est-ce assez normal?" Je ne suis pas sûr qu'on puisse y répondre définitivement, mais je peux relayer mon expérience dans l'espoir que cela soit utile!

Je développe sur Rails avec Ubuntu depuis plus de deux ans et je peux dire que je n'ai jamais eu à gérer de paquets cassés ni de code tactile de reconstruction dans les paquets requis. Je réinstalle complètement chaque version et mon expérience m'a montré qu'il est plus facile de configurer mon environnement Rails avec chaque version (probablement en raison de l'expérience croissante). En général, après une nouvelle installation d’Ubuntu, je dirais qu’il me faut moins d’une heure (parfois beaucoup moins) pour que mon environnement atteigne le stade où il se trouvait avant l’installation propre.

Il y a quelques jours, j'ai suivi le didacticiel lié pour ré-installer complètement mon environnement de développement Rails le 11.10. Auparavant, j'utilisais les packages du gestionnaire de packages Ruby, qui fonctionnaient correctement jusqu'à ce que je devais exécuter plusieurs versions de Ruby. Notez que le développement de Ruby sur les paquetages du gestionnaire de paquets n'est généralement pas considéré comme le meilleur moyen de développer Ruby sur Ubuntu (voir l'article lié pour plus de détails), mais cela a toujours bien fonctionné pour. moi dans le passé (quand vous n'avez besoin que d'une version de Ruby, Rails et Gems).

Je pense qu’une chose qui différencie Linux de certains autres systèmes d’exploitation est la possibilité d’agir de différentes manières, alors que dans certains autres, cela n’est possible que d’une manière particulière. Ceci est vrai pour la configuration de votre environnement de développement (il y a plusieurs façons de le faire) et il est facile de voir que cela crée de la confusion et la nécessité de consulter différents guides. D'après mon expérience limitée, utiliser le script d'installation RVM bash dans l'article lié a été le plus simple (c'est-à-dire, compte tenu des principaux avantages de RVM, si RVM ne présente aucun avantage, il peut exister des moyens plus simples, tels que le gestionnaire de paquets). .

Si vous êtes plus familier avec le développement sous Windows et configurez Ubuntu pour le développement pour la première fois, je pense qu'il est raisonnable de s'attendre à ce que cela prenne plus longtemps simplement parce que beaucoup de choses prennent plus de temps la première fois que nous apprenons à les faire. Si cela finit par être "traumatisant", j'espère seulement que vous pourrez trouver l'expérience et les connaissances que vous avez acquises de grande valeur :)

http://ryanbigg.com/2010/12/ubuntu-Ruby-rvm-Rails-and-you/

4
Sheldon

Juste pour votre information: je viens de terminer une installation complète de RoR sur Ubuntu 12.04 en cinq minutes.

  • Sudo apt-get install git git-svn postgresql-9.1 libpq-dev Ruby1.9.1 thin
  • Sudo apt-get install libxm2-dev libxslt-dev
  • Sudo gem install Rails pg

libxm2-dev et libxslt-dev ne concernent que Nokogiri (si vous en avez besoin) et postgresql-9.1, libpq-dev et pg ne concernent que la base de données PostgresSQL (si vous en avez besoin). .

Après cela, j'ai pu exécuter bundle install dans mes répertoires de projet Rails pour obtenir tous les Gems requis et tout fonctionner. Pas besoin de rvm et je n'ai jamais rencontré de paquets cassés. OK, donc je ne m'intéressais pas à une version spécifique de Ruby, mais pourquoi en étiez-vous?

Peut-être avez-vous rencontré l'un des (malheureusement nombreux) sites Web "Ruby-manual-hack-installation-du-jour" qui vous recommandent de supprimer tous les systèmes de gestion de paquets et de tout compiler vous-même.

Contrairement à l'affiche précédente, je pense qu'une différence entre Windows et Linux en ce qui concerne Ruby est que dans Windows, il n'y a pas de "officiel "moyen d’installer un logiciel (mais beaucoup de moyens non officiels, installateurs, sites Web, etc.), mais sous Linux est un moyen" officiel "(le paquet du distributeur ) et cela fonctionne généralement mieux mais limite quelque peu vos choix.

Et comme les logiciels Linux ont tendance à partager beaucoup plus de choses (code, fonctionnalités, etc.) que les logiciels Windows, la distinction entre "système d'exploitation" et "applications" est beaucoup plus floue que sous Windows, si vous commencez à compiler et à installer manuellement les logiciels dans Linux s’attend à devoir se préoccuper beaucoup plus des dépendances, des bibliothèques, etc. que de Windows.

Le meilleur moyen est de toujours obtenir les packages distributeurs (mon expérience).

1
Jens