Dans la documentation d'installation de RoR, il est mentionné qu'il existe de nombreuses limitations à l'exécution de Ruby on Rails sous Windows et que, dans certains cas, des bibliothèques entières ne fonctionnent pas.
Quelles sont les limites de ces limitations, devrais-je toujours utiliser Linux par défaut pour coder/exécuter RoR, et Iron Ruby devrait-il corriger ces limitations ou sont-elles essentielles pour le système d'exploitation lui-même?
EDITMerci pour la réponse concernant l'installation et l'exécution sous Linux, mais j'essaie vraiment de comprendre les limitations de fonctionnalités mentionnées dans la documentation d'installation et les bibliothèques qui ne fonctionnent pas - j'essaie de trouver un lien vers le commentaire, mais il a été référencé dans une installation me lire quand j'ai installé le paquet msi je pense
EDIT Merci pour les références à IronRuby ces derniers temps, c’est certainement un projet à suivre, et comme il est évidemment un langage .NET, il sera inestimable pour vous. aux promesses. Finalement, cependant, dans mon cas, je viens de mordre la balle et d’installer un serveur Ubuntu.
<biais> J'aurais dû le faire il y a des années </ partial>
Voici un aperçu des problèmes actuels liés à Rails sous Windows:
Notez que la plupart des conseils qui suivent sont maintenant dépassés en raison des magnifiques efforts de l'équipe RubyInstaller pour apporter stabilité, compatibilité et performances à Ruby sous Windows. Je n'ai plus besoin d'utiliser VirtualBox, ce qui en dit long sur le chemin parcouru de Ruby sous Windows .
Si vous souhaitez plus de détails techniques, vous devez lire les points suivants. :
La citation de choix de ce dernier est:
AkitaOnRails: La chose la plus évidente est que toute Gem avec des extensions C sans les fichiers binaires appropriés pour Windows échouera. Essayer d'exécuter des commandes Shell échouera ainsi que RubyInline. Quoi d'autre?
Luis Lavena: Hehe, ce n'est que la partie visible de l'iceberg
Cela dit, je ne trouve pas que le développement avec Rails sous Windows soit trop douloureux. Utiliser Ruby est pour la plupart un plaisir. J'éviterais InstantRails car, pour être franc, il est tout aussi facile d'installer Ruby correctement à l'aide du programme d'installation en un clic, puis de faire un gem install Rails
. Si vous avez besoin d’Apache et de MySQL, WAMP est un bon choix, même si cela n’est pas nécessaire si vous vous en tenez à Mongrel et SQLite.
Ce que j’ai commencé à faire récemment, c’est VirtualBox avec une instance du serveur Ubuntu qui reflète étroitement le serveur de déploiement. Je mappe un lecteur réseau sur le serveur Ubuntu, puis je modifie et exécute mon code directement sur la machine virtuelle. Il n'utilise pratiquement pas de mémoire (environ 43 Mo actuellement; contrairement à Firefox, qui utilise environ 230 Mo) et Rails fonctionne mieux que de l'exécuter en mode natif sous Windows. De plus, vous pouvez expérimenter avec votre serveur virtuel en toute sécurité. C'est une très belle configuration, je le recommande vivement.
Enfin, voici quelques blogs Ruby/Rails destinés aux utilisateurs Windows:
J'ai trouvé qu'il était très simple de créer un environnement de développement avec Instant Rails sous Windows. Surtout lorsque vous utilisez Netbeans ou Radrails comme IDE.
Moins de 10 minutes de travail.
Qu'est-ce que ceux qui ont lutté ont trouvé le problème?
Personne n'a mentionné Bitnami RubyStack encore? Je l'utilise depuis des années avec RadRails. Inclut Apache, MySQL/Postgre, phpmyadmin, git etc. Facultatif Ruby 1.9.2/Rails 3.0b. Vous pouvez également exécuter la version Ubuntu de RubyStack dans un VM mais je ne l’ai pas encore essayé.
Je développe Rails sur un PC Windows depuis quelques années et je n’ai eu aucun problème d’installation lors de mon installation. Cependant, j'ai récemment reconstruit ma machine et j'ai eu du mal à obtenir le programme d'installation de One-Click Ruby et la dernière version de Gems. Donc c'est ce que j'ai essayé.
J'ai été vraiment impressionné par l'idée de Charles Roper de faire fonctionner Rails sur une machine virtuelle Linux, et c'est la voie que j'ai initialement choisie. Tout s'est très bien passé et je l'ai documenté sur budanters.blogspot.com . Cependant, j'ai eu du mal à accéder au serveur MySQL (sous Linux Virtual Machine) à partir de l'hôte Windows.
J'ai récemment installé la version Windows de NetBeans 6.5 Ruby Bundle et, sans le savoir, installe JRuby et les gems de Rails. Le IDE a une interface utilisateur pour installer Gems, et mon ancienne application est maintenant de nouveau opérationnelle et fonctionne dans mon environnement de développement.
J'utilise maintenant Netbeans 6.7 sous Windows et, dans l'ensemble, j'en suis très heureux. Le seul inconvénient est qu’il installe JRuby 1.2 et que j’avais besoin d’installer JRuby 1.3 manuellement pour que quelque chose fonctionne (je ne me souviens plus de quoi) et j’ai été absolument incapable de faire fonctionner un déploiement avec Capistrano ou Vlad le Déployer. Vlad utilise Open4 qui ne fonctionne pas avec JRuby.
Netbeans 6.8 est livré avec JRuby 1.4, vous n’aurez donc plus à vous débrouiller avec l’installation manuelle de JRuby 1.3. De plus, il semble que dans JRuby 1.5 Open4 fonctionne maintenant, ce qui signifie que Vlad pourrait commencer à fonctionner.
Un programme d’installation complet est disponible à l’adresse http://railsinstaller.org/ , qui mérite d’être vérifié.
Personnellement, j’ai trouvé que faire tourner Ruby + Rails sous les fenêtres était un jeu d’art. Du téléchargement à la navigation sur ma première application 'HelloWorld', il m'a fallu 15 minutes. Je ne me suis même pas préoccupé des produits InstantRails.
Par la suite, je ne peux pas dire que j'ai rencontré l'un des problèmes de vitesse signalés ou des problèmes avec Gems sous Windows.
Ces gars font aussi un complément Nice Développeurs Ruby pour Visual Studio:
La dernière fois que j'ai manipulé Rails sous Windows, j’utilisais Instant Rails et trouvais que c’était un processus assez pénible, à l’exception du manque de mises à jour d’Instant Rails (ce qui, selon le site Web, pose toujours un problème) , en tant qu'instant, Rails 2.0 utilise ROR 2.0, alors que la version la plus récente est la 2.1). Vous pouvez également examiner les réponses à cette question car elle mentionne un certain nombre d'autres moyens permettant à RoR de s'exécuter facilement sous Windows.
Vous pouvez simplement utiliser Cygwin et sa version de Ruby. Cela supprime les arguments sur le fait que les gems compilés ne fonctionnent pas sous Windows - j'ai réussi à compiler beaucoup de gems de cette façon.
La plus grande limitation de l'exécution sous Windows est que beaucoup de choses sont super lentes.
Voir ce fil . Pour une discussion.
Des tâches simples comme "script/console" et l'exécution de tâches rake prendront 5 fois plus de temps sous Windows que sous Linux ou Mac.
Les autres limitations sont:
Si vous ne pouvez pas vous écarter de Windows, utilisez VMware et exécutez une certaine forme de Linux (Ubuntu est populaire). Votre limite N ° 1 sera constituée de gemmes compilées qui ne fonctionnent pas bien sous Windows.
La majorité des tutoriels supposent que vous utilisez une certaine forme de * nix, c'est lorsque vous commencez à vous échapper du simple échafaudage lorsque vous ressentez la douleur. La manipulation d’images, la recherche en texte intégral et même certains adaptateurs de base de données ne fonctionneront que sur * nix ou seront difficiles à installer.
La majorité des hôtes Web utilisent également Linux, il est bon de développer sur la même plate-forme que votre hôte pour éviter les problèmes de déploiement.
Vous avez des options Windows pour tout installer et installer, telles que Instantrails :
Cependant, mon expérience personnelle en essayant de faire fonctionner des collègues sous Windows est que c'est une expérience assez pénible. Vous devriez être capable de faire tourner la plupart (sinon de tout), mais soyez prêt à passer un peu de temps à perdre votre temps (et à vous frustrer).
YMMV
Je recommanderais probablement le développement sous Linux ou Mac for Rails (mais je suis légèrement biaisé contre Windows, vous devrez peut-être le prendre avec un grain de sel).
En général, les performances de Rails sont un problème sous Windows.
En ce qui concerne la configuration de votre déploiement, vous pouvez exécuter Rails dans FCGI ou utiliser mongrel (et configurer Apache ou IIS en tant que proxy). mod_Rails ( http://www.modrails.com ) est la meilleure option de déploiement pour Rails aujourd'hui, mais ne s'exécute pas sous Windows.
Vous pouvez trouver plus de chance en utilisant JRuby sous Windows pour exécuter Rails dans l’environnement JVM de votre choix (Tomcat, serveur J2EE, etc.).
IronRuby n’existe pas encore pour l’exécution de Rails dans un environnement de production, mais il s’agira à terme de l’exécuter dans un environnement IIS (ASP.NET).
Je ne suis pas un développeur Rails moi-même mais j'ai pensé que cela pourrait être intéressant. Microsoft a publié IronRuby 1.0, une version de Ruby qui fonctionne sur la plate-forme .NET qui semble fonctionner 4x plus vite que l'implémentation officielle de Rails sous Windows.
http://www.drdobbs.com/open-source/224600662
Site officiel http://ironruby.codeplex.com/
Une option si vous êtes bloqué sous Windows est d'avoir des serveurs virtuels exécutant Linux/BSD/what-have-you.
Il résout également de nombreux autres problèmes (vous permettant d’essayer facilement plusieurs configurations de serveur, etc.).
Pour une accélération, vous pouvez essayer mon chargeur rapide (aide Rails à courir plus vite dans le sommeil): https://github.com/rdp/faster_require
La variante de RailsIntaller est RailsFTW . Le Ruby & Rails sont plus mis à jour.