Computer >> Máy Tính >  >> Lập trình >> Ruby

3 thủ thuật đá quý nhanh

Gần đây tôi đã cập nhật Ruby và nâng cấp một vài dự án. Và trong khi thực hiện, tôi đã tìm thấy một số tính năng RubyGems khá thú vị mà trước đây tôi chưa biết:

Khi các tệp thực thi của bạn lỗi thời

Tôi đã từng sử dụng rvm để quản lý các phiên bản Ruby. Nhưng lần cuối cùng tôi thiết lập máy của mình, tôi đã quyết định thử mà không cần nó. Bạn không cần Gemsets khi có Bundler và bạn có thể sử dụng Homebrew để cập nhật Ruby.

Điều này hoạt động tốt, cho đến khi bạn cập nhật Ruby. Và rails new , bundle install và tất cả các lệnh khác bị phá vỡ. Họ sẽ chỉ đến Phiên bản Ruby, không phải phiên bản bạn vừa cài đặt.

Bạn có thể khắc phục điều này bằng cách gỡ cài đặt và cài đặt lại từng viên ngọc một. Nhưng điều đó thật điên rồ. Thay vào đó, hãy thử gem pristine :

gem pristine --all --only-executables

gem pristine lấy một viên ngọc và đặt lại nó về phiên bản bạn đã tải xuống ban đầu. Nó giống như gỡ cài đặt và cài đặt lại đá quý. (Điều này cũng hữu ích nếu bạn quyết định chỉnh sửa một viên ngọc trong khi gỡ lỗi và quên thay đổi lại.)

--all có nghĩa là “tất cả đá quý” và --only-executables có nghĩa là “chỉ đặt lại các tệp như /usr/local/bin/rails/usr/local/bin/bundle ”. Đó là, chỉ sửa các tập lệnh bạn sử dụng để chạy một viên ngọc từ dòng lệnh.

Vì vậy, lệnh này đặt lại các tệp như /usr/local/bin/rails về những gì chúng sẽ có nếu bạn gỡ cài đặt và cài đặt lại đá quý.

Một phút sau, bạn sẽ quay lại làm việc trên ứng dụng của mình.

Khi bạn cần phiên bản cũ hơn

Khi tôi viết bài đăng của mình trên respond_to , Tôi đã tạo một số ứng dụng nhỏ để tìm hiểu thêm về nó. Tôi đã sử dụng một vài phiên bản Rails khác nhau để xem mỗi phiên bản xử lý như thế nào với respond_torespond_with .

Làm cách nào để bạn tạo từng ứng dụng Rails với phiên bản Rails phù hợp? Bạn không cần phải làm điều này:

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

Có một cách dễ dàng hơn. Bạn có thể cho RubyGems biết phiên bản bạn muốn chạy, ngay trên dòng lệnh, với dấu gạch dưới:

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

Phiên bản đá quý mờ

Nhưng trong phần cuối cùng đó, vẫn còn một vấn đề. Có thể bạn không thực sự muốn cài đặt 4.0.0. Bạn muốn có phiên bản 4.0 mới nhất với tất cả các cập nhật nhỏ.

Nhưng bạn có nhớ phiên bản nhỏ nhất mới nhất của Rails 4.0 là gì không?

Có rất nhiều cách để tra cứu nó. Nhưng tại sao phải tra cứu nó, khi RubyGems chỉ có thể làm những gì bạn muốn?

gem install rails -v "~>4.0.0"

Bạn có thể sử dụng tất cả các chuỗi phiên bản mà bạn biết từ Bundler:

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

Hữu ích! Đặc biệt nếu, giống như tôi, bạn ghét làm những thứ mà máy tính làm tốt hơn.

Nhưng bạn không cần phải biết tất cả điều này

Khi tôi gặp phải những vấn đề này, tôi không biết có một câu trả lời dễ dàng. Nhưng bạn có thể đoán có thể sẽ có một cái.

Đây đều là những tình huống mà bạn có thể tự giải quyết vấn đề, nhưng nó sẽ lặp đi lặp lại và gây khó chịu.

Và khi bạn tìm thấy một nhiệm vụ lặp đi lặp lại, gây khó chịu như thế này, đặc biệt là trong một dự án được sử dụng tốt, điều đó có nghĩa là một trong hai điều:

  1. Ai đó đã tự động hóa nó hoặc
  2. Nhiều người đang hy vọng bạn sẽ tự động hóa nó.

Vì vậy, trước khi bạn thực hiện công việc bận rộn, hãy tìm hiểu sâu hơn một chút. Điều tra một chút. Nó sẽ xứng đáng với thời gian của bạn.

Bài đăng này ban đầu được gửi riêng cho danh sách của tôi. Để nhận được nhiều bài đăng tương tự trong hộp thư đến của bạn vào thứ Sáu hàng tuần, hãy đăng ký tại đây!