Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Ruby

3 เคล็ดลับอัญมณีด่วน

ฉันเพิ่งอัปเดต Ruby และอัปเกรดบางโปรเจ็กต์ และในขณะที่ฉันทำ ฉันพบฟีเจอร์เด็ดๆ ของ RubyGems ที่ฉันไม่รู้มาก่อน:

เมื่อไฟล์เรียกทำงานของคุณล้าสมัย

ฉันเคยใช้ rvm เพื่อจัดการเวอร์ชัน Ruby แต่ครั้งสุดท้ายที่ฉันตั้งค่าเครื่อง ฉันตัดสินใจลองใช้โดยไม่ใช้เครื่อง คุณไม่จำเป็นต้องใช้ Gemsets เมื่อมี Bundler และคุณสามารถใช้ Homebrew เพื่อให้ Ruby ทันสมัยอยู่เสมอ

วิธีนี้ใช้ได้ผลดี จนกว่าคุณจะอัปเดต Ruby และ rails new , bundle install และคำสั่งอื่นๆ ทั้งหมดก็พัง พวกเขาจะชี้ไปที่ เก่า เวอร์ชัน Ruby ไม่ใช่เวอร์ชันที่คุณเพิ่งติดตั้ง

คุณสามารถแก้ไขได้โดยถอนการติดตั้งและติดตั้ง gem ใหม่ทีละรายการ แต่นั่นเป็นเรื่องบ้า ให้ลอง gem pristine :

gem pristine --all --only-executables

gem pristine รับอัญมณีและรีเซ็ตเป็นเวอร์ชันที่คุณดาวน์โหลดในตอนแรก มันเหมือนกับการถอนการติดตั้งและติดตั้งอัญมณีใหม่ (สิ่งนี้จะมีประโยชน์เช่นกันหากคุณตัดสินใจแก้ไขอัญมณีในขณะที่ทำการดีบั๊ก และลืมเปลี่ยนกลับ)

--all หมายถึง “อัญมณีทั้งหมด” และ --only-executables หมายถึง “รีเซ็ตเฉพาะไฟล์เช่น /usr/local/bin/rails และ /usr/local/bin/bundle ” นั่นคือ แก้ไขเฉพาะสคริปต์ที่คุณใช้เพื่อเรียกใช้อัญมณีจากบรรทัดคำสั่ง

ดังนั้นคำสั่งนี้จะรีเซ็ตไฟล์เช่น /usr/local/bin/rails จะเป็นอย่างไรหากคุณถอนการติดตั้งและติดตั้ง gem ใหม่

อีกหนึ่งนาทีต่อมา คุณจะกลับมาทำงานในแอปของคุณอีกครั้ง

เมื่อคุณต้องการเวอร์ชันที่เก่ากว่า

เมื่อฉันเขียนโพสต์ของฉันใน respond_to ฉันสร้างแอพเล็กๆ ขึ้นมาเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับมัน ฉันใช้ Rails หลายเวอร์ชันเพื่อดูว่าแต่ละเวอร์ชันจัดการกับ respond_to . อย่างไร และ respond_with .

คุณจะสร้างแอป Rails แต่ละแอปที่มีเวอร์ชัน Rails ที่ถูกต้องได้อย่างไร คุณไม่จำเป็นต้องทำสิ่งนี้:

gem install rails -v 4.0.0
rails new respond_to_4.0
gem uninstall rails

gem install rails -v 4.1.0
rails new respond_to_4.1
gem uninstall rails

มีวิธีที่ง่ายกว่า คุณสามารถบอก RubyGems ว่าต้องการเรียกใช้เวอร์ชันใดบนบรรทัดคำสั่ง โดยมีขีดล่าง:

rails _4.0.0_ new respond_to_4.0
rails _4.1.0_ new respond_to_4.1

เวอร์ชันฟัซซี่เจม

แต่ในส่วนสุดท้ายนั้นยังคงมีปัญหาอยู่ คุณอาจไม่ต้องการติดตั้ง 4.0.0 จริงๆ คุณต้องการเวอร์ชันใหม่ล่าสุดของ 4.0 พร้อมการอัปเดตเล็กน้อยทั้งหมด

แต่คุณจำได้ไหมว่า Rails 4.0 เวอร์ชันรองใหม่ล่าสุดคืออะไร

มีหลายวิธีในการดู แต่ทำไมต้องมองให้ดี ในเมื่อ RubyGems สามารถทำสิ่งที่คุณต้องการได้

gem install rails -v "~>4.0.0"

คุณสามารถใช้สตริงเวอร์ชันทั้งหมดที่คุณรู้จักจาก Bundler:

gem install rails -v ">3.1, <4.1"

มีประโยชน์! โดยเฉพาะอย่างยิ่ง ถ้าคุณเกลียดการทำสิ่งที่คอมพิวเตอร์ทำได้ดีกว่า เช่นฉัน

แต่คุณไม่จำเป็นต้อง รู้ ทั้งหมดนี้

เมื่อฉันพบปัญหาเหล่านี้ ฉันไม่รู้ว่ามีคำตอบที่ง่าย แต่เดาเอาว่าน่าจะมีนะ

นี่เป็นสถานการณ์ทั้งหมดที่คุณสามารถแก้ปัญหาได้ด้วยตัวเอง แต่มันอาจจะซ้ำซากและน่ารำคาญ

และเมื่อคุณพบงานที่ซ้ำซากและน่ารำคาญเช่นนี้ โดยเฉพาะอย่างยิ่งในโปรเจ็กต์ที่ใช้งานได้ดี นั่นหมายถึงหนึ่งในสองสิ่งต่อไปนี้:

  1. มีคนดำเนินการโดยอัตโนมัติแล้ว หรือ
  2. หลายคนคาดหวัง คุณ อัตโนมัติ

ดังนั้น ก่อนที่คุณจะทำงานยุ่ง ให้ขุดลึกลงไปอีกหน่อย สอบตกสักหน่อย ใช้เวลาของคุณให้คุ้มค่า

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