Mengapa begitu sulit untuk mengatur Ruby on Rails di Ubuntu?

13

Saya telah menghabiskan beberapa jam pagi ini untuk mencoba memasang Rails pada contoh baru dari Ubuntu dan saya perhatikan bahwa prosesnya sangat berbelit-belit daripada di Windows. Pada Windows saya pergi ke rubyinstaller.org, jalankan executable (saya secara khusus tertarik pada 1.9.2-p180) dan kemudian menyesuaikan jalur sistem yang sesuai. Rails juga tidak memerlukan langkah-langkah tambahan, saya dapat mengkloning repositori git dan mulai melakukan cranking.

Di Ubuntu saya harus menginstal RVM (yang bisa saya lakukan untuk Windows juga), instal prereqs yang terdaftar, punya apt-get fail karena banyak paket-paket itu tidak lagi tersedia. Akhirnya saya berlari rvm installhanya untuk mengetahui bahwa make tidak akan berfungsi, jadi saya harus mengomentari banyak dependensi secara manual pada openssl dari salah satu file .c dan membangunnya kembali, lalu akhirnya diinstal. Rails masih jauh dari selesai, jadi saya harus menginstal banyak prasyarat, mengedit beberapa file tambahan di sumber ruby ​​dan menjalankannya, dan akhirnya saya bisa rails consolememulai bahkan.

Apakah ini cukup normal? Haruskah saya berharap semuanya akan memakan waktu beberapa jam ekstra di ubuntu jika saya akan mengembangkan aplikasi Rails? Saya harus berkonsultasi setidaknya 3-4 panduan untuk 11,04 dan setidaknya 5 posting stack overflow berbeda untuk menjalankannya, sepertinya pengalaman pengguna yang sangat traumatis bagi saya.

Alexandr Kurilin
sumber
1
Panduan mana yang Anda ikuti?
Jorge Castro
Selalu merepotkan, tapi tidak terlalu buruk - gunakan RVM. Rel IMHO harus dihapus dari apt karena itu hanya menyebabkan rasa sakit versi. (Atau berpotensi.)
Thufir
Sebagai perbandingan, menginstal Meteor.js sangat mudah .
Dan Dascalescu

Jawaban:

4

Mengenai mengapa pengalaman Anda sulit, saya tidak yakin dapat dijawab tanpa lebih banyak pengetahuan tentang apa yang sebenarnya Anda lakukan. Mengenai pertanyaan Anda tentang "apakah ini cukup normal?" Saya tidak yakin itu bisa dijawab secara pasti, tetapi saya bisa menyampaikan pengalaman saya dengan harapan itu membantu!

Saya telah mengembangkan Rails dengan Ubuntu selama lebih dari dua tahun dan dapat mengatakan bahwa saya tidak pernah harus berurusan dengan paket yang rusak atau menyentuh / membangun kembali kode di salah satu paket yang diperlukan. Saya menginstal ulang sepenuhnya dengan setiap rilis dan pengalaman saya adalah bahwa lebih mudah untuk mengatur lingkungan Rails saya dengan setiap rilis (kemungkinan karena pengalaman yang berkembang). Secara umum, setelah instalasi Ubuntu yang bersih, saya akan mengatakan bahwa saya memerlukan waktu kurang dari satu jam (kadang-kadang lebih sedikit) untuk membawa lingkungan saya ke tahap di mana instalasi sebelum instalasi yang bersih.

Beberapa hari yang lalu saya mengikuti tutorial yang terhubung untuk sepenuhnya mengatur ulang lingkungan pengembangan Rails saya pada 11.10. Saya sebelumnya menggunakan paket manajer paket Ruby, yang berfungsi dengan baik sampai saya perlu menjalankan beberapa versi Ruby. Perhatikan bahwa mengandalkan paket manajer paket untuk pengembangan Ruby umumnya dianggap bukan cara terbaik untuk mengembangkan Ruby di Ubuntu (lihat artikel yang ditautkan untuk rinciannya) tetapi selalu berhasil dengan baik untuk saya di masa lalu (ketika Anda hanya membutuhkan satu versi dari Ruby, Rails and Gems).

Saya pikir satu hal yang membedakan Linux dari beberapa OS lain adalah kemampuan untuk melakukan sesuatu dengan berbagai cara, sementara di beberapa OS lain itu hanya mungkin dilakukan dengan satu cara tertentu. Ini berlaku untuk pengaturan lingkungan pengembangan Anda (ada beberapa cara untuk melakukannya) dan mudah untuk melihat ini mengarah pada kebingungan dan kebutuhan untuk berkonsultasi dengan panduan yang berbeda. Dari pengalaman saya yang terbatas, menggunakan skrip install bash RVM di artikel yang ditautkan adalah yang termudah (yaitu, mengingat manfaat utama RVM, jika RVM tidak bermanfaat bagi Anda maka mungkin ada cara yang lebih mudah seperti manajer paket) .

Jika Anda lebih terbiasa dengan pengembangan di Windows dan mengatur Ubuntu untuk pengembangan untuk pertama kalinya, saya pikir masuk akal untuk mengharapkannya memakan waktu lebih lama hanya karena banyak hal yang lebih lama saat pertama kali kita belajar melakukannya. Jika akhirnya menjadi "traumatis" maka saya hanya berharap Anda dapat menemukan pengalaman dan pengetahuan yang Anda peroleh berharga :)

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

Sheldon
sumber
Terima kasih untuk panduan itu, saya akan merujuknya lain kali. Saya harus menunjukkan bahwa itu agak konyol, karena pertama-tama memperingatkan Anda tentang tidak pernah menggunakan apt-get, dan kemudian mulai mengunduh selusin dependensi ruby ​​darinya: | Bagaimanapun, ada kemungkinan rasa sakit saya disebabkan oleh harus menggunakan 1.9.2-p180 secara khusus, versi masa depan memiliki perbaikan spesifik Ubuntu yang harus ditangani secara manual untuk versi itu. Jawaban yang bagus secara keseluruhan, memberi saya lebih percaya diri tentang tetap berpegang pada OS untuk pekerjaan di masa depan.
Alexandr Kurilin
Inilah masalah yang saya temui, antara lain: digitaldisorder.posterous.com/ruby-rvm-and-debian-sid-problems
Alexandr Kurilin
Jika Anda menyukai jawaban ini, klik "Jawaban ini berguna" selain mengucapkan terima kasih kepada yang merespons. Ini juga merupakan demonstrasi penghargaan bagi mereka yang bersusah payah untuk meneliti dan menjawab pertanyaan. :)
João Santana
1

Hanya FYI: Saya baru saja menyelesaikan pengaturan RoR lengkap di Ubuntu 12,04 dalam lima menit.

  • 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-devdan libxslt-devhanya untuk Nokogiri (jika Anda membutuhkannya) dan postgresql-9.1, libpq-devdan pghanya untuk database PostgresSQL (jika Anda membutuhkannya).

Setelah itu saya bisa menjalankan bundle installdirektori proyek Rails saya untuk mendapatkan semua Permata yang dibutuhkan dan berjalan dan semuanya bekerja. Tidak perlu rvmdan saya tidak pernah menemukan paket yang rusak. OK, jadi saya tidak tertarik pada satu build khusus Ruby, tapi lalu mengapa Anda?

Mungkin Anda menjumpai salah satu dari situs web (sayangnya banyak) "Ruby-manual-hack-installation-du-jour" yang meminta Anda untuk menghapus semua sistem manajemen paket dan mengkompilasi semuanya sendiri.

Berbeda dengan poster sebelumnya saya berpikir bahwa salah satu perbedaan antara Windows dan Linux mengenai Ruby adalah bahwa dalam Windows ada ada "resmi" cara menginstal software (tapi banyak cara tidak resmi, installer, website dll), tetapi di Linux ada adalah sebuah Cara "resmi" (paket distributor) dan itu biasanya berfungsi paling baik tetapi agak membatasi pilihan Anda.

Dan karena perangkat lunak Linux cenderung berbagi lebih banyak (kode, fungsi, dll) sebagai perangkat lunak Windows, dan perbedaan antara "OS" dan "aplikasi" jauh lebih buram daripada di Windows, jika Anda mulai menyusun dan menginstal perangkat lunak secara manual di Linux berharap harus lebih peduli tentang ketergantungan, perpustakaan dan sebagainya daripada di Windows.

Cara terbaik adalah selalu mendapatkan paket distributor (pengalaman saya).

Jens
sumber
masalah dengan pendekatan ini, 'sudo gem install rails pg' adalah tidak semua permata tersedia dengan cara itu. Yang merupakan daya tarik bagi RVM (yang kemudian memiliki kekurangannya sendiri).
Thufir
Thufir, permata apa yang hilang secara spesifik? Dan mengapa ini menjadi masalah (karena Anda selalu dapat menambahkan lebih banyak sumber permata, baik menggunakan permata atau bundler)?
Jens
koreksi saya jika salah, tetapi permata adalah manajer paket yang mirip dengan apt-get. Apa yang Anda sarankan adalah menggunakan yum bersama apt-get, jadi untuk berbicara. Kedengarannya seperti kekacauan bagi saya, bahkan jika tidak ada yang salah. (Bagaimana jika ada konflik versi antara apa yang dimiliki apt-get dan apa yang dimiliki permata?) Ada banyak, banyak permata yang tersedia melalui permata yang tidak dalam apt-get.
Thufir
Inilah sebabnya saya menggambar garis di 'pagar'. Saya menggunakan apt-get untuk menginstal semuanya termasuk Ruby, kemudian menggunakan permata untuk menginstal Bundler, dan bundler untuk menginstal versi Rails yang diperlukan dan semua permata yang diperlukan untuk satu aplikasi Rails tertentu sesuai dengan Gemfile-nya. Untuk memulai, saya biasanya menginstal versi Rails saat ini melalui 'gem install' di seluruh sistem juga (ini tidak sakit tetapi tidak perlu). Ya, ini memberi Anda hanya satu versi Ruby untuk bekerja dengan tetapi itu belum menjadi masalah sejauh ini.
Jens
1
Thufir, baca posting saya lagi. Saya tidak menggunakan apt untuk permata di aplikasi rel. Saya menggunakan Bundler, dengan set permata terpisah untuk setiap aplikasi.
Jens