UbuntuでRuby on Railsをセットアップするのがなぜ難しいのですか?


13

今朝、Ubuntuの新しいインスタンスでRailsをセットアップしようとして数時間費やしましたが、Windowsよりもプロセスが非常に複雑であることに気付きました。Windowsでは、rubyinstaller.orgに移動し、実行可能ファイル(特に1.9.2-p180に興味がありました)を実行し、それに応じてシステムパスを調整します。Railsには追加の手順は必要ありません。gitリポジトリのクローンを作成して、クランキングを開始できます。

Ubuntuでは、RVMをインストールする必要があり(Windowsでも同様です)、リストされている前提条件をインストールし、それらのパッケージが利用できなくなったためにapt-getが失敗します。私はついにrvm installmakeが機能しないことを知るためだけに走ったので、.cファイルの1つからopensslの依存関係の束を手動でコメントアウトして再構築し、最終的にインストールしました。Railsはまだ完成していなかったので、別の前提条件をインストールし、rubyソースの余分なファイルを編集して実行する必要があり、最終的にrails console開始することができました。

これはかなり普通ですか?Railsアプリケーションを開発する場合、ubuntu上ですべてが余分に数時間かかると予想すべきでしょうか?実行するには、11.04の少なくとも3〜4個のガイドと少なくとも5つの異なるスタックオーバーフローポストを参照する必要がありましたが、これは非常にトラウマ的なユーザーエクスペリエンスのようです。


1
フォローしているガイドはどれですか?
ホルヘカストロ

常に面倒ですが、それほど悪くはありません-RVMを使用してください。IMHOレールは、バージョン管理の痛みを引き起こすだけなので、aptから削除する必要があります。(または可能性があります。)
Thufir

回答:


4

なぜあなたの経験が難しかったのかについて、あなたが何をしたかについての知識がなくても答えられるかどうかはわかりません。「これはかなり普通ですか?」という質問について 確実に答えられるかどうかはわかりませんが、役立つことを願って自分の経験を伝えることができます!

私は2年以上にわたってUbuntuを使用してRailsで開発してきましたが、壊れたパッケージを処理したり、必要なパッケージのコードをタッチ/リビルドしたりする必要はまったくありませんでした。私はすべてのリリースで完全に再インストールしましたが、私の経験では、リリースごとにRails環境をセットアップするのが簡単だということです(おそらく経験が増えたためです)。一般的に、Ubuntuのクリーンインストール後、環境をクリーンインストール前の段階に戻すのに1時間もかかりません(それよりもはるかに少ない)。

数日前、リンクされたチュートリアルに従って、11.10にRails開発環境を完全に再セットアップしました。以前は、パッケージマネージャーのRubyパッケージを使用していましたが、Rubyの複数のバージョンを実行する必要があるまでは正常に機能していました。Rubyでパッケージマネージャーパッケージに依存することは、UbuntuでRubyを開発するための最良の方法ではないと一般に考えられていることに注意してください(詳細についてはリンクされた記事を参照)。 Ruby、Rails、およびGems)。

Linuxと他のOSの違いの1つは、さまざまな方法で何かを実行できることですが、他のOSでは特定の方法でしかできない場合があると思います。これは開発環境のセットアップにも当てはまり(それを行う方法は複数あります)、混乱を招き、さまざまなガイドを参照する必要があることは容易に理解できます。私の限られた経験から、リンクされた記事でRVM bashインストールスクリプトを使用するのが最も簡単でした(つまり、RVMの主な利点を考慮すると、RVMがあなたにとって利益がない場合、パッケージマネージャなどの簡単な方法があるかもしれません) 。

Windowsでの開発に精通していて、Ubuntuを初めて開発用にセットアップしている場合は、多くのことを最初に習得するのに時間がかかるという理由だけで、より長くかかると期待するのは合理的だと思います。それが「トラウマティック」である場合、あなたが貴重な経験と知識を得られることを願っています:)

http://ryanbigg.com/2010/12/ubuntu-ruby-rvm-rails-and-you/


そのガイドをありがとう、次回参照します。最初にapt-getを使用しないことについて警告が表示され、次にそれから12個程度のルビーの依存関係をダウンロードするために警告されるため、それはやや愚かであることを指摘する必要があります。いずれにせよ、私の痛みの一部は特に1.9.2-p180を使用しなければならなかったことが原因である可能性があり、将来のバージョンではUbuntu固有の修正があり、そのバージョンでは手動で対処する必要がありました。全体として素晴らしい答えは、将来の仕事のためにOSに固執することについて、私に自信を与えます。
アレクサンドルクリリン

ここに私が遭遇した問題があります。とりわけ、
digitaldisorder.posterous.com

この回答が気に入った場合は、回答者に感謝することに加えて、[この回答は役に立ちました]をクリックしてください。これは、問題を調査し、質問に答えるのに苦労した人々に対する感謝のデモンストレーションでもあります。:)
ジョアンサンタナ

1

参考までに、Ubuntu 12.04で完全なRoRセットアップを5分で完了しました。

  • 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およびlibxslt-devNokogiri(必要な場合)およびpostgresql-9.1libpq-devおよびpgPostgresSQLデータベース(必要な場合)専用です。

その後bundle install、Railsプロジェクトディレクトリで実行して、必要なすべてのGemsを起動して実行し、すべてが機能しました。必要rvmもなく、壊れたパッケージに出くわすこともありませんでした。それでは、特定のRubyのビルドには興味がありませんでしたが、なぜそうなったのですか?

すべてのパッケージ管理システムを廃棄し、すべてを自分でコンパイルするように指示する(残念ながら多くの)「Ruby-manual-hack-installation-du-jour」Webサイトの1つに遭遇したかもしれません。

以前のポスターとは対照的に、私は、WindowsとLinuxはルビーについての違いの1つは、Windowsに存在しないことだと思い何も、ソフトウェア(多くの非公式な方法、インストーラ、ウェブサイトなど)をインストールする「公式」の方法が、Linuxにあっています「公式」な方法(ディストリビューターのパッケージ)で、通常は最適に機能しますが、選択が多少制限されます。

また、LinuxソフトウェアはWindowsソフトウェアとしてより多く(コード、機能など)を共有する傾向があるため、「OS」と「アプリケーション」の区別はWindowsよりもはるかに不明瞭です。 Linuxは、Windowsよりも依存関係やライブラリなどに注意を払う必要があると考えています。

最良の方法は、常にディストリビューターパッケージを取得することです(私の経験)。


このアプローチの問題、「sudo gem install rails pg」は、すべてのgemがそのように利用できるわけではないということです。これはRVMの魅力です(これには独自の欠点があります)。
トゥフィール

Thufir、具体的に不足している宝石は何ですか?そして、なぜこれが問題なのですか(gemまたはbundlerを使用していつでもより多くのgemソースを追加できるため)?
イェンス

間違っている場合は修正してください。しかし、gemはapt-getに似たパッケージマネージャーです。提案しているのは、いわばapt-getと一緒にyumを使用することです。何もうまくいかなくても、私にとっては混乱のように聞こえます。(apt-getにあるものとgemにあるものとの間にバージョン管理の競合がある場合はどうでしょうか?)apt-getにないgemを介して利用できる多くの多くのgemがあります。
テュフィル

これが「レール」に線を引く理由です。私はのために必要なRailsのバージョンと、必要なすべての宝石をインストールするには、その後バンドラーをインストールするために宝石を使用して、ルビーなどのすべてをインストールするにはapt-getを使用しており、バンドラ1特定することはそのGemfileに応じてアプリケーションをレール。開始するには、通常、システム全体で「gem install」を使用して現在のRailsバージョンをインストールします(これは問題ありませんが、必要ではありません)。はい、これで動作するRubyバージョンは1つだけになりますが、これまでのところ問題はありませんでした。
イェンス

1
Thufir、私の投稿をもう一度読んでください。Railsアプリでgemのaptを使用していません。Bundlerを使用し、アプリごとに個別のgemを設定します。
イェンス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.