ทำไมการติดตั้ง Ruby on Rails บน Ubuntu จึงเป็นเรื่องยาก?


13

ฉันใช้เวลาสองสามชั่วโมงในเช้าวันนี้เพื่อลองติดตั้ง Rails บน Ubuntu ใหม่และฉันสังเกตเห็นว่ากระบวนการนั้นซับซ้อนกว่าใน Windows อย่างไม่น่าเชื่อ ใน Windows ฉันไปที่ rubyinstaller.org ให้เรียกใช้ไฟล์ปฏิบัติการ (ฉันสนใจเป็นพิเศษใน 1.9.2-p180) จากนั้นปรับเส้นทางของระบบตามลำดับ Rails ยังไม่ต้องใช้ขั้นตอนเพิ่มเติมฉันสามารถโคลนที่เก็บ git และเริ่มหมุนออก

บน Ubuntu ฉันต้องติดตั้ง RVM (ซึ่งฉันสามารถทำได้สำหรับ Windows เช่นกัน) ติดตั้งข้อกำหนดเบื้องต้นที่ระบุไว้ในรายการมีการรับ apt-get ล้มเหลวเนื่องจากกลุ่มแพ็คเกจเหล่านั้นไม่สามารถใช้งานได้อีกต่อไป ในที่สุดฉันก็rvm installพบว่าสิ่งที่ทำไม่ได้ผลดังนั้นฉันจึงต้องแสดงความคิดเห็นต่อการพึ่งพา openssl จากไฟล์. c ไฟล์ใดไฟล์หนึ่งและสร้างใหม่จากนั้นจึงติดตั้งในที่สุด Rails ยังทำไม่เสร็จดังนั้นฉันจึงต้องติดตั้งสิ่งที่จำเป็นอื่น ๆ แก้ไขไฟล์พิเศษบางอย่างในแหล่งทับทิมและดำเนินการและจากนั้นในที่สุดฉันก็สามารถrails consoleเริ่มต้นได้

เป็นเรื่องปกติหรือไม่ ฉันควรคาดหวังว่าทุกอย่างจะใช้เวลาเพิ่มอีกสองสามชั่วโมงในอูบุนตูถ้าฉันจะพัฒนาแอพพลิเคชั่น Rails? ฉันต้องปรึกษาอย่างน้อย 3-4 คำแนะนำสำหรับ 11.04 และอย่างน้อย 5 โพสต์โอเวอร์โฟลว์ที่แตกต่างกันเพื่อให้สิ่งที่ทำงานดูเหมือนว่าประสบการณ์การใช้งานที่เจ็บปวดมากสำหรับฉัน


1
คำแนะนำใดที่คุณติดตาม
Jorge Castro

มันเป็นเรื่องที่ยุ่งยากเสมอ แต่ก็ไม่เลวร้ายนัก - ใช้ RVM IMHO Rails ควรถูกลบออกจาก apt เพราะมันแค่ทำให้เกิดความเจ็บปวดในเวอร์ชั่น (หรือมีศักยภาพที่จะ.)
Thufir

โดยเปรียบเทียบกับการติดตั้ง Meteor.js เป็นลม
Dan Dascalescu

คำตอบ:


4

เกี่ยวกับสาเหตุที่ทำให้ประสบการณ์ของคุณเป็นเรื่องยากฉันไม่แน่ใจว่าจะสามารถตอบได้หากไม่มีความรู้เพิ่มเติมเกี่ยวกับสิ่งที่คุณทำ เกี่ยวกับคำถามของคุณของ "นี่เป็นเรื่องปกติไหม" ฉันไม่แน่ใจว่าสามารถตอบได้อย่างชัดเจน แต่ฉันสามารถถ่ายทอดประสบการณ์ของฉันด้วยความหวังว่าจะเป็นประโยชน์!

ฉันพัฒนาบน Rails กับ Ubuntu มานานกว่าสองปีแล้วและสามารถพูดได้ว่าฉันไม่เคยจัดการกับแพ็คเกจที่เสียหายหรือสัมผัส / สร้างรหัสใหม่ในแพ็คเกจที่ต้องการ ฉันติดตั้งใหม่ทุกครั้งที่ติดตั้งและประสบการณ์ของฉันก็คือการติดตั้งสภาพแวดล้อม Rails ของฉันกับแต่ละรุ่นได้ง่ายขึ้น (น่าจะเป็นเพราะประสบการณ์ที่เพิ่มขึ้น) โดยทั่วไปหลังจากติดตั้ง Ubuntu เรียบร้อยแล้วฉันจะบอกว่าใช้เวลาน้อยกว่าหนึ่งชั่วโมง (บางครั้งก็น้อยกว่า) เพื่อให้สภาพแวดล้อมของฉันกลับสู่สภาพที่เคยเป็นก่อนการติดตั้งใหม่ทั้งหมด

สองสามวันที่ผ่านมาฉันได้ติดตามบทช่วยสอนที่เชื่อมโยงเพื่อตั้งค่าสภาพแวดล้อมการพัฒนา Rails ของฉันใหม่ในวันที่ 11.10 ก่อนหน้านี้ฉันเคยใช้แพ็คเกจ package manager Ruby ซึ่งใช้งานได้ดีจนกระทั่งฉันต้องการรัน Ruby หลายรุ่น โปรดทราบว่าการใช้แพ็คเกจตัวจัดการแพคเกจสำหรับการพัฒนา Ruby โดยทั่วไปถือว่าไม่ใช่วิธีที่ดีที่สุดในการพัฒนา Ruby บน Ubuntu (ดูรายละเอียดในบทความที่เชื่อมโยง) แต่มันก็ใช้ได้ดีสำหรับฉันในอดีต (เมื่อคุณต้องการรุ่นเดียวเท่านั้น Ruby, Rails และ Gems)

ฉันคิดว่าสิ่งหนึ่งที่แตกต่างจากระบบปฏิบัติการอื่น ๆ ของ Linux คือความสามารถในการทำสิ่งต่างๆในหลาย ๆ วิธีในขณะที่ระบบปฏิบัติการอื่น ๆ นั้นอาจเป็นไปได้ด้วยวิธีใดวิธีหนึ่งเท่านั้น นี่คือความจริงของการตั้งค่าสภาพแวดล้อมการพัฒนาของคุณ (มีหลายวิธีที่จะทำ) และมันง่ายที่จะเห็นสิ่งนี้นำไปสู่ความสับสนและจำเป็นที่จะต้องขอคำแนะนำที่แตกต่างกัน จากประสบการณ์ที่ จำกัด ของฉันการใช้สคริปต์ติดตั้ง bash RVM ในบทความที่เชื่อมโยงนั้นเป็นวิธีที่ง่ายที่สุด (นั่นคือเมื่อพิจารณาถึงประโยชน์ที่สำคัญของ RVM หาก RVM ไม่เป็นประโยชน์กับคุณ .

หากคุณคุ้นเคยกับการพัฒนาใน Windows มากขึ้นและกำลังตั้งค่า Ubuntu เพื่อการพัฒนาเป็นครั้งแรกฉันคิดว่ามันสมเหตุสมผลที่จะคาดหวังว่าจะใช้เวลานานขึ้นเพราะสิ่งต่าง ๆ ใช้เวลานานกว่าครั้งแรกที่เราเรียนรู้ที่จะทำ หากมันกลายเป็น "บาดแผล" ฉันแค่หวังว่าคุณจะสามารถหาประสบการณ์และความรู้ที่คุณได้รับมีค่า :)

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


ขอบคุณสำหรับคำแนะนำนั้นฉันจะอ้างอิงในครั้งต่อไป ฉันต้องชี้ให้เห็นว่ามันค่อนข้างโง่เพราะก่อนอื่นมันจะเตือนคุณเกี่ยวกับการไม่ใช้ apt-get และจากนั้นจะดำเนินการดาวน์โหลดโหลหรือมากกว่านั้นการพึ่งพาทับทิมจากมัน: | ไม่ว่าในกรณีใดเป็นไปได้ว่าอาการปวดบางอย่างของฉันเกิดจากต้องใช้ 1.9.2-p180 เฉพาะรุ่นในอนาคตมีการแก้ไขเฉพาะ Ubuntu ที่ต้องแก้ไขด้วยตนเองสำหรับรุ่นนั้น คำตอบที่ยอดเยี่ยมโดยรวมทำให้ฉันมีความมั่นใจมากขึ้นเกี่ยวกับการใช้งานระบบปฏิบัติการในอนาคต
Alexandr Kurilin

นี่คือปัญหาที่ฉันพบในหมู่คนอื่น ๆ : digitaldisorder.posterous.com/ruby-rvm-and-debian-sid-problems
Alexandr

หากคุณชอบคำตอบนี้คลิก "คำตอบนี้มีประโยชน์" นอกเหนือจากขอบคุณผู้ที่ตอบกลับ นี่คือการสาธิตการขอบคุณสำหรับผู้ที่มีปัญหาในการวิจัยและตอบคำถาม :)
João Santana

1

เพียงแค่ FYI: ฉันเพิ่งเสร็จสิ้นการตั้งค่า RoR บน Ubuntu 12.04 ในห้านาที

  • 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.1, libpq-devและpgเป็นเพียงสำหรับฐานข้อมูล PostgresSQL (ถ้าคุณต้องการ)

หลังจากนั้นฉันสามารถเรียกใช้bundle installในไดเรกทอรีโครงการ Rails ของฉันเพื่อรับพลอยที่จำเป็นทั้งหมดและใช้งานได้และทุกอย่างทำงานได้ ไม่จำเป็นrvmและฉันไม่เคยพบแพ็คเกจที่เสียหายเลย ตกลงดังนั้นฉันไม่ได้สนใจในหนึ่งเฉพาะโครงสร้างของทับทิม แต่แล้วทำไมเป็นคุณ?

บางทีคุณอาจพบเว็บไซต์ "Ruby-manual-hack-installation-du-jour" (ที่น่าเสียดายมาก) ซึ่งบอกให้คุณทิ้งระบบการจัดการแพ็คเกจทั้งหมดและรวบรวมทุกอย่างด้วยตัวเอง

ในทางตรงกันข้ามกับโปสเตอร์ก่อนหน้านี้ผมคิดว่าหนึ่งในความแตกต่างระหว่าง Windows และ Linux เกี่ยวกับทับทิมก็คือว่าใน Windows มีไม่มี "ข้าราชการ" วิธีการติดตั้งซอฟต์แวร์ ( แต่วิธีการที่ไม่เป็นทางการจำนวนมากติดตั้ง, เว็บไซต์ ฯลฯ ) แต่ในลินุกซ์มีเป็นวิธี "เป็นทางการ" (แพ็คเกจของผู้จัดจำหน่าย) และมักจะใช้งานได้ดีที่สุด แต่ จำกัด ตัวเลือกของคุณบ้าง

และเนื่องจากซอฟต์แวร์ Linux มีแนวโน้มที่จะแบ่งปันมากกว่า (รหัสฟังก์ชั่นและอื่น ๆ ) เป็นซอฟต์แวร์ Windows และความแตกต่างระหว่าง "OS" และ "แอปพลิเคชัน" นั้นพร่ามัวกว่าใน Windows หากคุณเริ่มรวบรวมและติดตั้งซอฟต์แวร์ด้วยตนเอง Linux คาดหวังว่าจะต้องให้ความสำคัญกับการพึ่งพาห้องสมุดและอื่น ๆ มากกว่าใน Windows

วิธีที่ดีที่สุดคือการได้รับแพ็คเกจตัวแทนจำหน่าย (ประสบการณ์ของฉัน)


ปัญหาเกี่ยวกับวิธีการนี้ 'sudo gem install rails pg' ก็คือไม่ใช่ว่าอัญมณีทั้งหมดจะมีให้ในแบบนั้น ซึ่งเป็นการอุทธรณ์สำหรับ RVM (ซึ่งมีข้อเสียของตัวเอง)
พฤหัสบดีที่

ถึงตอนนี้พลอยหายไปไหนโดยเฉพาะ? และทำไมเป็นปัญหา (เนื่องจากคุณสามารถเพิ่มแหล่งอัญมณีเพิ่มเติมได้ตลอดเวลาโดยใช้อัญมณีหรือชุดข้อมูล)
Jens

แก้ไขฉันถ้าไม่ถูกต้อง แต่ gem เป็นผู้จัดการแพ็คเกจคล้ายกับ apt-get สิ่งที่คุณแนะนำคือการใช้ yum ควบคู่ไปกับ apt-get เพื่อพูด ฟังดูเหมือนสับสนกับฉันแม้ว่าจะไม่มีอะไรผิดปกติก็ตาม (จะเกิดอะไรขึ้นถ้ามีข้อขัดแย้งระหว่างเวอร์ชันที่ apt-get และ gem มีอะไรบ้าง) มีอัญมณีจำนวนมากที่มีให้ใช้งานผ่านทางอัญมณีที่ไม่ได้อยู่ใน apt-get
พฤหัสบดีที่

นี่คือเหตุผลที่ฉันวาดเส้นที่ 'ทางรถไฟ' ฉันใช้ apt-get เพื่อติดตั้งทุกอย่างรวมถึง Ruby จากนั้นใช้ gem เพื่อติดตั้ง Bundler และ Bundler เพื่อติดตั้ง Rails รุ่นที่ต้องการและพลอยที่จำเป็นทั้งหมดสำหรับแอพ Rails หนึ่งอันตาม Gemfile ในการเริ่มต้นฉันมักจะติดตั้ง Rails เวอร์ชั่นปัจจุบันผ่านทาง 'gem install' ทั้งระบบด้วย (ไม่ได้ทำให้เจ็บ แต่ไม่จำเป็น) ใช่แล้วนี่ให้ทับทิมรุ่นเดียวที่คุณสามารถใช้งานได้ แต่นั่นก็ยังไม่เป็นปัญหา
เจนส์

1
ขอบคุณอ่านโพสต์ของฉันอีกครั้ง ฉันไม่ได้ใช้ apt สำหรับอัญมณีในแอพทางรถไฟ ฉันใช้ Bundler ด้วยชุดอัญมณีแยกต่างหากสำหรับแต่ละแอพ
เจนส์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.