web-dev-qa-db-ja.com

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

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

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

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

12

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

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

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

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

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

http://ryanbigg.com/2010/12/ubuntu-Ruby-rvm-Rails-and-you/

4
Sheldon

参考までに、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-devはNokogiri専用(必要な場合)、postgresql-9.1libpq-devおよびpgはPostgresSQLデータベース専用(必要な場合) 。

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

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

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

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

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

1
Jens