WindowsでRuby / Railsを実行する際の制限


81

RoRのインストールドキュメントには、WindowsでRuby on Railsを実行することには多くの制限があり、場合によってはライブラリ全体が機能しないことが記載されています。

これらの制限はどれほど悪いですか、RoRをコーディング/実行するために常にデフォルトでLinuxを使用する必要がありますか?Iron Rubyはこれらの制限を修正することが期待されていますか、それともOS自体のコアですか?

編集Linuxでのインストールと実行に関する回答をありがとうございますが、インストールドキュメントで参照されている機能の制限と、機能していないライブラリを理解しようとしています-コメントへのリンクを見つけようとしていますが、インストールで参照されているのは、msiパッケージをインストールしたときに私を読んだと思います

編集 最近IronRubyを参照していただきありがとうございます。これは確かに注目すべきプロジェクトであり、明らかに.NET言語であるため、約束を果たすことができれば非常に貴重です。しかし、最終的には、私の場合、弾丸を噛んでUbuntuサーバーをインストールしました。

<bias>何年も前にやるべきだった</ bias>


制限はありません。各問題には回避策または代替案があります。
クロエ

回答:


101

Rails onWindowsの現在の問題の概要は次のとおりです。

  • RubyとRailsは、UnixライクなOSよりもWindowsの方が遅いです。
  • いくつかのgemとライブラリはWindowsでは機能しません。
  • 一部のUnix-ismはWindowsでは使用できません()。
  • コミュニティの大部分はMacまたはLinuxのいずれかです(これは特に対処が難しいものです。他の部族がパーティーをし、楽しんで、他の島で仲良くしているときに、誰も1つの島で一人にな​​りたくないです。コミュニティRailsを始めたほとんどのWindows開発者はすぐにMacまたはLinuxに切り替えるようです。しかし、永続するWindows Rubyユーザーの小さなコミュニティは非常に友好的で、献身的で知識が豊富です。こんにちはと言ってください

以下のアドバイスの多くは、RubyInstallerチームがWindows上のRubyに安定性、互換性、パフォーマンスをもたらすための多大な努力により、時代遅れになっていることに注意してください。私はもうVirtualBoxを使う必要はありません。これは、Ruby onWindowsがどこまで進んだかについて多くを語っています。

より技術的な詳細が必要な場合は、以下を読む必要があります。:

その最後のものからの選択の引用は次のとおりです。

AkitaOnRails:最も明白なことは、Windows用の適切なバイナリがないC拡張機能を持つGemは失敗するということです。シェルコマンドを実行しようとすると失敗し、RubyInlineも失敗します。ほかに何か?

ルイス・ラヴェナ:へへ、それは氷山の一角に過ぎません

そうは言っても、Rails onWindowsを使用した開発はそれほど苦痛ではありません。Rubyを使用することは、ほとんどの場合、喜びです。率直に言って、ワンクリックインストーラーを使用してRubyを適切にインストールしてから、を実行するのも同じくらい簡単なので、InstantRailsは避けたいと思いますgem install rails。ApacheとMySQLが必要な場合は、WAMPが適していますが、MongrelとSQLiteだけを使用する場合は、これらも必要ありません。

私が最近やったことは、デプロイメントサーバーを厳密にミラーリングするUbuntuサーバーのインスタンスでVirtualBoxを実行することです。ネットワークドライブをUbuntuサーバーにマップしてから、コードを編集してVM上で直接実行します。メモリをほとんど使用せず(現在、最大43MBを使用しています。最大230MBを使用しているFirefoxとは対照的です)、Railsは実際にはWindowsでネイティブに実行するよりもパフォーマンスが優れています。さらに、比較的安全に仮想サーバーを試すことができます。それは本当に素晴らしいセットアップです、私はそれを強くお勧めします。

最後に、Windowsユーザーを対象としたRuby / Railsブログをいくつか紹介します。


2
なんて素晴らしい、完全な答えで、なんて憂鬱な現実なのでしょう...しかし、それが私がWindowsでVirtualBoxを実行するのに何時間も費やした理由だと思います。compileyouidontevenknowyou.blogspot.com/ 2008/12 /…。回答ありがとうございます:VirtualBoxを使用します。
ダンローゼンスターク2008

4
思ったほど気のめいることではありません。確かに、Javaや.NETを使用する必要があるほど気のめいることはありません。冗談だよ、冗談だよ。;)
Charles Roper

1
それの涼しい、チャールズは、私はまだ... Iフィギュア、我々はまだどのようにプラットフォームに依存...ただ、別の50歳で驚いて
ダンRosenstark

1
Windowsを再インストールする必要があり、WindowsボックスでRailsを再度実行することに熱心ではありませんでした。そこで、VirtualBoxをインストールし、virt Ubuntu Serverを作成し、共有フォルダーをセットアップして両方がRailsコードにアクセスできるようにし、Ruby&Railsをインストールし、VirtualBoxでポート転送をセットアップしてWindowsからRailsアプリにアクセスできるようにしました
Guy C

1
RailsはUbunutuVMで実行されますが、私はWindowsから開発します。私は実際にはVMを「使用」していません。これは、SSHを使用し、共有フォルダーを使用してWindowsからすべてを制御しているためです。これが私の十分に文書化されたセットアップです:chetane.com/2012/09/11/…– Chetane 2012
21:09

6

Windows上のInstantRailsで開発環境を立ち上げて実行するのは本当に簡単であることがわかりました。特に、IDEとしてNetbeansまたはRadrailsを使用する場合。

10分未満の仕事。

苦労した人たちは何が問題だと思いましたか?


5

私はWindowsPCでRailsを数年間開発してきましたが、最初に起動したときはインストールに問題はありませんでした。しかし、最近マシンを再構築し、ワンクリックRubyインストーラーと最新バージョンのGemsを動作させるのに苦労しました。だからこれが私が試したものです。

オプション1:Linux仮想マシンを実行する

Linux仮想マシン内でRailsを実行するというCharlesRoperのアイデアには本当に感銘を受けました。これは、私が最初に行ったルートです。それはすべて非常にスムーズに進み、私はbudanters.blogspot.comでそれを文書化しています。ただし、WindowsホストからMySQLサーバー(Linux仮想マシン内)にアクセスするのに苦労しています。

オプション2:jRubyを使用する

最近、WindowsバージョンのNetBeans 6.5 Rubyバンドルをインストールしましたが、これに気付かずに、JRubyとRailsgemがインストールされます。IDEにはGemsをインストールするためのUIがあり、古いアプリケーションをバックアップして開発環境で実行できるようになりました。

2009年11月の更新

現在、WindowsでNetbeans 6.7を使用していますが、全体として非常に満足しています。唯一の欠点は、JRuby 1.2がインストールされることです。何かを機能させるには、JRuby 1.3を手動でインストールする必要があり(何を思い出せないか)、CapistranoまたはVlad theDeployerを使用してデプロイメントを完全に機能させることができませんでした。ウラドはJRubyでは動作しないOpen4を使用しています。

2010年5月の更新

Netbeans6.8にはJRuby1.4が付属しているため、JRuby1.3を手動でインストールする必要がなくなりました。また、JRuby 1.5ではOpen4が機能するようになりました。つまり、Vladが機能し始める可能性があります。


1
Ubuntu VMを実行するための良いオプションは、Vagrantを使用することです。Windowsで開発し、ファイルをUbuntu VMと共有すると、VMを「
vagrantssh

5

Bitnami RubyStackについてはまだ誰も言及していませんか?RadRailsと一緒に何年も使っています。Apache、MySQL / Postgre、phpmyadmin、gitなどが含まれます。オプションのRuby 1.9.2 /Rails3.0b。RubyStackのUbuntuフレーバーをVMで実行することもできますが、私はまだ試していません。



3

個人的には、Ruby + RailsをWindowsで起動して実行するのは簡単なことでした。ダウンロードから最初の「HelloWorld」アプリの閲覧まで、15分かかりました。私はInstantRailsのもののどれも気にしませんでした。

その後、報告された速度の問題やWindowsでのGemsの問題に遭遇したとは言えません。

これらの人たちは、VisualStudio用にRuby開発者がアドオンを追加することもできます。

http://www.sapphiresteel.com/


OSXまたは* nixでRailsを使用したことがない場合は、速度の違いに気付かないでしょう。違いが明らかになるのは、この2つを対比したときです。
チャールズローパー

たぶん、でも私が言いたいのは、「これは犬のように走っている」と思わせるほど遅いものは何もなかったということです。
Kev

Windowsのレールにruby + ruby​​をどのようにインストールしましたか?

2

私が最後にWindowsでRailsをいじったとき、Instant Railsを使用しましたが、Instant Railsの更新がないことを除けば、かなり面倒なプロセスであることがわかりました(Webサイトの外観からはまだ少し問題があります) 、インスタントRails2.0はROR2.0を使用しますが、最新バージョンは2.1です)。また、WindowsでRoRを簡単に実行するための他の多くの方法が記載されているため、この質問への回答を調べることもできます。


Rails
2.1'gem

@Paul Wicks本当に痛いという意味ですか?@RichH「gemupdate-system」も必要だったことを覚えているようですが(実用的なプログラマーによるベータ版のRuby on Railsの本が言ったことは何でもしました)、アップグレードするのは難しくないことに同意します
Steve Bosman

1

Instantrailsなど、すべてを起動してインストールするためのWindowsオプションがあります。

ただし、同僚をWindowsで稼働させようとした私の個人的な経験は、かなり苦痛な経験であるということです。ほとんど(すべてではないにしても)を実行できるはずですが、少し時間をかけていじくり回す(そしてイライラする)準備をしてください。

YMMV

Railsの開発にはおそらくLinuxかMacのどちらかをお勧めします(ただし、私はWindowsに少し偏っているので、一粒の塩でそれを取る必要があるかもしれません)。


1

Windowsで立ち往生している場合のオプションは、仮想サーバーでLinux / BSD / what-have-youを実行することです。

他の多くの問題も解決します(複数のサーバー構成を簡単に試すことができるなど)。


1

Windowsから離れられない場合は、VMwareを使用して、何らかの形式のLinuxを実行してください(ubuntuが一般的です)。あなたの一番の制限は、Windowsでうまく再生されないコンパイルされた宝石になります。

チュートリアルの大部分は、何らかの形の* nixを使用していることを前提としています。それは、基本的な足場の外に出て、痛みを感じるときです。画像操作、全文検索、および一部のdbアダプターでさえ、* nixでのみ実行されるか、セットアップが面倒です。

Webホストの大部分もLinuxを実行しています。展開の問題を回避するために、ホストと同じプラットフォームで開発することをお勧めします。


1

一般に、RailsのパフォーマンスはWindowsの問題です。

デプロイメントのセットアップに関しては、FCGIでRailsを実行するか、mongrelを使用できます(そして、ApacheまたはIISをプロキシとしてセットアップします)。mod_rails(http://www.modrails.com)は、今日のRailsに最適なデプロイメントオプションですが、Windowsでは実行されません。

WindowsでJRubyを使用して、必要なJVM環境(Tomcat、J2EEサーバーなど)でRailsを実行するとさらに幸運が訪れるかもしれません。

IronRubyはまだ実稼働環境でRailsを実行するためのものではありませんが、最終的にはASP.NET環境(IIS)内でRailsを実行することを目的としています。


1

CygwinとそのバージョンのRubyを使用できます。これにより、コンパイルされたgemがWindowsで機能しないという議論がなくなります。私は、この方法で多くのgemをコンパイルすることができました。


1

Windowsでの実行の最大の制限は、多くのことが非常に遅いことです。

このスレッドを参照してください。議論のために。

「スクリプト/コンソール」やrakeタスクの実行などの単純なことは、LinuxやMacよりもWindowsで5倍長くかかります。

その他の制限は次のとおりです。

  • VistaにはIE6はありません。
  • BackgroundRBおよび他の多くのcベースのgemは、Windowsでは機能しません。
  • 乗客なし

1

私自身はRails開発者ではありませんが、これは興味深いかもしれないと思いました。MicrosoftはIronRuby1.0をリリースしました。これは、.NETプラットフォームで実行されるRubyのバージョンであり、Windowsでの公式のRails実装より明らかに4倍高速に実行されます。

http://www.drdobbs.com/open-source/224600662

公式サイト http://ironruby.codeplex.com/


1
Ironrubyは1年以上眠っているようです。
レト


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.