web-dev-qa-db-fra.com

Limitations dans l'exécution de Ruby/Rails sur Windows

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>

79
johnc

Voici un aperçu des problèmes actuels liés à Rails sous Windows:

  • Ruby et Rails sont plus lents sous Windows que sur les systèmes d'exploitation de type Unix.
  • Quelques gemmes et bibliothèques ne fonctionnent pas sous Windows.
  • Certains Unix-isms ne sont pas disponibles sous Windows ( exemples ).
  • La communauté est principalement sur Mac ou Linux (. C’est un problème particulièrement difficile à gérer; personne ne veut être seul sur une île lorsque les autres membres de la tribu font la fête, s’amusent et s'entendent très bien. La communauté est importante. Il semble que la plupart des développeurs Windows qui commencent par Rails basculent rapidement vers un Mac ou Linux. Cependant , la petite communauté de Windows Ruby, les utilisateurs persistants sont extrêmement sympathiques, dévoués et bien informés - va dire bonjour . )

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:

101
Charles Roper

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?

6
RichH

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é.

5
chi

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é.

Option 1: exécuter une machine virtuelle Linux

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.

Option 2: utiliser jRuby

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.

Mise à jour novembre 2009

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.

Mise à jour mai 2010

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.

4
Guy C

Un programme d’installation complet est disponible à l’adresse http://railsinstaller.org/ , qui mérite d’être vérifié.

4
Andreas

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:

http://www.sapphiresteel.com/

3
Kev

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. 

2
Paul Wicks

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.

1
Cameron McCloud

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:

  • Pas d'IE6 sur Vista. 
  • BackgroundRB et de nombreux autres gems basés sur c ne fonctionnent pas sous Windows.
  • Pas de passager
1
Sam Saffron

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. 

1
MatthewFord

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).

1
Dave Smylie

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).

1
Jimmy Schementi

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/

1
Doobi

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.).

1
Neall

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

0
rogerdpack

La variante de RailsIntaller est RailsFTW . Le Ruby & Rails sont plus mis à jour.

0
null