Limitations dans L'exécution Ruby / Rails sur windows
dans la documentation d'installation to RoR il mentionne qu'il y a de nombreuses limites à faire tourner Ruby sur les Rails sous Windows, et dans certains cas, des bibliothèques entières ne fonctionnent pas.
A quel point ces limitations sont-elles mauvaises, devrais-je toujours utiliser Linux par défaut pour coder / exécuter RoR, et est-ce que Iron Ruby est censé corriger ces limitations ou sont-elles au cœur du système D'exploitation lui-même?
MODIFIER Merci pour la réponse installation et fonctionnement sous Linux, mais j'essaie vraiment de comprendre les limites de la fonctionnalité telle que référencée 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 lire moi quand j'ai installé le paquet msi je pense
MODIFIER Merci pour les références à IronRuby dernièrement, il est certainement un projet à regarder, et comme il, évidemment, est un .net langue, il sera inestimable si elle est à la hauteur des promesses. Finalement, cependant, dans mon cas, je viens de mordre la balle et installé un serveur Ubuntu.
j'aurais dû faire il y a ans
16 réponses
voici un aperçu des problèmes actuels avec les Rails sur Windows:
- Ruby and Rails sont plus lents sur les fenêtres que sur les systèmes D'exploitation Unix.
- quelques gemmes et bibliothèques ne fonctionnent pas sur Windows.
- certains Unix-isms ne sont pas disponibles sur Windows ( exemples ).
- la communauté est principalement sur Mac ou Linux ( C'est un particulièrement difficile à traiter avec; personne ne veut être seul sur une île quand le reste de la tribu font la fête, s'amusent et s'entendent bien sur l'autre île. La communauté est importante. Il semble que la plupart des Développeurs Windows qui commencent avec des Rails passent rapidement à un Mac ou Linux. Toutefois , la petite communauté de Windows Ruby utilisateurs qui ne persistent sont extrêmement sympathique, compétent et dévoué - aller dire " bonjour . )
notez que la plupart des conseils qui suivent sont maintenant dépassés en raison des efforts magnifiques de l'équipe RubyInstaller pour apporter stabilité, compatibilité et performance à Ruby on Windows. Je n'ai plus besoin D'utiliser VirtualBox, ce qui en dit long sur le chemin de Ruby on Windows.
si vous voulez plus de détails techniques, la lecture suivante est requise. :
- Ruby pour Windows - Partie 1
- est Windows une plate-forme supportée pour Ruby? Je ne crois pas
- tester le nouveau One-Click Ruby Installer pour Windows
- jouant toujours avec Ruby sur Windows
- parler avec Luis Lavena (Rubis sur Windows)
Choix de citer le dernier est:
AkitaOnRails: la chose la plus évidente est que tout gemme avec des Extensions C sans binaires appropriés pour Windows va échouer. Essayer d'exécuter des commandes shell échouera et RubyInline aussi. Quoi d'autre?
Luis Lavena: Hehe, c'est juste la pointe de l'iceberg
Cela dit, Je ne trouve pas le développement avec des Rails sur les fenêtres trop douloureux. Utiliser Ruby est, pour la plupart, un plaisir. J'éviterais les InstantRails car, pour être Franc, il est tout aussi facile d'installer Ruby correctement en utilisant l'installateur à un clic, puis en faisant un gem install rails
. Si vous avez besoin D'Apache et MySQL, WAMP est un bon pari, bien que même ceux-ci ne sont pas nécessaires si vous restez simplement avec Mongrel et SQLite.
ce que j'ai taken to doing recently est d'exécuter VirtualBox avec une instance de serveur Ubuntu qui ressemble étroitement au serveur de déploiement. Je mappe un lecteur réseau au serveur Ubuntu, puis je modifie et exécute mon code directement sur la VM. Il utilise à peine n'importe quelle mémoire (il utilise actuellement ~43MB; contraste avec cela avec Firefox, qui utilise ~230MB) et les Rails fonctionnent en fait mieux que l'exécution native sur Windows. De plus, vous pouvez expérimenter avec votre serveur virtuel en sécurité relative. C'est un vraiment sympa le programme d'installation, je vous le recommande fortement.
enfin, voici quelques blogs de Ruby / Rails destinés aux utilisateurs de Windows:
j'ai trouvé que l'obtention d'un environnement de développement et de fonctionnement avec Rails instantanés sur Windows était vraiment simple. Spécialement lorsqu'on utilise Netbeans ou Radails comme IDE.
moins de 10 minutes de travail.
Qu'est-ce que ceux qui se sont battus ont trouvé être le problème?
personne n'a mentionné Bitnami RubyStack encore? Je l'utilise depuis des années, avec des RadRails. Inclut Apache, MySQL / Postgre, phpmyadmin,git etc. Option Ruby 1.9.2 / Rails 3.0 b. Vous pouvez également exécuter la saveur Ubuntu de RubyStack dans une VM, mais je n'ai pas encore essayé.
je développe des Rails sur un PC Windows depuis quelques années et je n'ai eu aucun réel problème d'installation lorsque j'ai commencé. Cependant, j'ai récemment reconstruit ma machine et j'ai eu du mal à faire fonctionner L'installateur Ruby en un clic et la dernière version de gemmes. C'est donc 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 tourner des Rails dans une machine virtuelle Linux, et c'est la route, au début, je suis allé pour. Tout s'est bien passé et je l'ai documenté à budanters.blogspot.com . Cependant, j'ai eu du mal à accéder au serveur MySQL (dans la machine virtuelle Linux) à 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 s'en rendre compte, cela installe JRuby et les gemmes de Rails. Le IDE a une interface utilisateur pour installer des gemmes, et j'ai maintenant mon ancienne application de nouveau en marche dans mon enviromnent de développement.
Mise À Jour Novembre 2009
j'utilise Netbeans 6.7 sur Windows et dans l'ensemble, je suis très heureux avec elle. Les seuls inconvénients sont qu'il installe JRuby 1.2, et j'ai eu besoin d'installer JRuby 1.3 manuellement pour obtenir quelque chose de travail (je ne me souviens pas de quoi) et j'ai été complètement incapable de faire fonctionner le déploiement avec Capistrano ou Vlad le déployeur au travail. Vlad utilise Open4 qui ne fonctionne pas avec JRuby.
Mise À Jour Mai 2010
Netbeans 6.8 est livré avec JRuby 1.4 donc n'ont plus à tripoter avec installation manuelle JRuby 1.3. En outre, il semble que dans JRuby 1.5 Open4 va maintenant fonctionner, ce qui signifie Vlad pourrait commencer à travailler.
il y a un programme d'installation disponible à http://railsinstaller.org / ce qui vaut la peine d'être vérifié.
personnellement, J'ai trouvé Ruby + Rails up et courir sur les fenêtres un morceau de gâteau. Du téléchargement à la navigation vers ma première application "HelloWorld" m'a pris 15 minutes. Je ne me suis même pas embêté avec les InstantRails.
par la suite, je ne peux pas dire que j'ai rencontré les problèmes de vitesse signalés ou des problèmes avec les gemmes sous Windows.
ces gars font aussi un beau Ruby développeurs Ajouter pour Visual Studio:
quand j'ai pour la dernière fois tripoté avec des Rails sur windows, j'ai utilisé des Rails instantanés et j'ai trouvé que c'était un processus assez douloureux, sauf pour le manque de mises à jour de Rails instantanés (qui, de l'apparence du site web est encore un peu d'un problème, comme rails instantanés 2.0 utilise ROR 2.0, tandis que la plus récente version est 2.1). Vous pouvez également regarder dans les réponses à cette question comme il mentionne un certain nombre d'autres façons d'obtenir RoR tournant sur windows facilement.
Je ne suis pas un développeur de rails moi-même, mais j'ai pensé que cela pourrait être d'intérêt. Microsoft a publié IronRuby 1.0, c'est une version de Ruby qui tourne sur la plate-forme .NET que apparemment exécute 4x plus rapide que L'implémentation officielle de Rails sur Windows.
http://www.drdobbs.com/open-source/224600662
site officiel http://ironruby.codeplex.com /
vous avez des options windows pour obtenir tout up et installé, tels que Instantrails :
cependant, mon expérience personnelle avec essayer d'obtenir des collègues et courir sur windows est que c'est une expérience assez douloureuse. Vous devriez être en mesure d'obtenir la plupart (si ce n'est tout) en cours d'exécution, mais être prêt à passer un peu de temps à tourner autour (et de se frustrer).
YMMV
je voudrais je recommande probablement Linux ou Mac pour le développement de rails (mais je suis un peu contre windows, donc vous pourriez avoir besoin de prendre cela avec un grain de sel).
une option si vous êtes bloqué sur Windows est d'avoir des serveurs virtuels Linux / BSD / what-have-you.
il résout beaucoup d'autres problèmes aussi (vous permettant d'essayer plusieurs configurations de serveur facilement, etc.).
si vous ne pouvez pas échapper à windows utilisez VMware et exécuter une certaine forme de linux (ubuntu est populaire). Votre limitation n ° 1 sera des gemmes compilées qui ne se lisent pas bien sur windows.
la majorité des tutoriels supposent que vous êtes sur une certaine forme de *nix, c'est quand vous commencez à casser en dehors de l'échafaudage de base quand vous sentirez la douleur. La manipulation d'Image, la recherche en texte intégral et même certains adaptateurs db ne fonctionnent que sur *nix ou sont difficiles à configurer.
la majorité des serveurs Web fonctionnent aussi sous linux, il est bon de se développer sur la même plate-forme que votre hôte, pour éviter les maux de tête de déploiement.
en général, la performance des Rails est un problème sur les fenêtres.
en ce qui concerne votre installation de déploiement, vous pouvez soit exécuter des Rails dans FCGI, soit utiliser mongrel (et configurer Apache ou IIS comme proxy). mod_rails ( http://www.modrails.com ) est la meilleure option de déploiement pour les Rails aujourd'hui, mais ne fonctionne pas sous Windows.
vous pourriez trouver plus de chance en utilisant JRuby sur Windows pour exécuter des Rails dans n'importe quel environnement JVM que vous voulez (tomcat, J2EE serveur, etc).
IronRuby n'est pas encore là pour faire fonctionner des Rails dans un environnement de production, mais éventuellement il sera destiné à faire fonctionner des Rails à l'intérieur de n'importe quel ASP.NET environnement (IIS).
la plus grande limitation de la course sous Windows est que beaucoup de choses sont super lentes.
voir ce fil . Pour une discussion.
des choses simples comme" script/console " et exécuter des tâches de ratissage prendront 5 fois plus de temps sur Windows que sur Linux ou Mac.
autres limitations:
- Pas de IE6 sur Vista.
- beaucoup d'autres gemmes basées sur le c ne fonctionnent pas sur Windows.
- Aucun passager
pour une accélération, vous pouvez essayer mon chargeur speeder upper (aide rails courir plus vite dans doze): https://github.com/rdp/faster_require Aussi vérifier la flèche, qui fonctionne dans doze