Sự khác biệt hiệu quả giữa cài đặt gem gem --bindir ~ / path / to / thư mục


3

Hiện tại tôi không có mong muốn tìm hiểu Ruby, nhưng tôi chỉ muốn biết sự khác biệt giữa gem install --bindir ~/path/gem install --user-installmiễn là mỗi con đường nằm trong tôi $PATH.

Câu trả lời:


4

Xem tham chiếu lệnh Ruby GEM tại đây :

-n, -​-bindir DIR - Directory where binary files are located

-​-[no-]user-install - Install in user’s home directory instead of GEM_HOME.

Thực tế, và bạn vận hành như một người dùng cuối sử dụng Ruby, sẽ không thực sự nhận thấy sự khác biệt nếu các đường dẫn tệp nằm trong của bạn $PATH. Nhưng mỗi lệnh xử lý rõ ràng với một khía cạnh hệ thống tệp khác nhau của bản cài đặt Ruby GEM.

- -bindir

-​-bindirđề cập đến binary directory. Nhiều Ruby GEMS cài đặt các tập tin tập lệnh Ruby như là một phần của chức năng thư viện cốt lõi của họ nhưng cũng cài đặt một tệp nhị phân mã hóa như là một phần của quá trình cài đặt của họ. Có nghĩa là, nếu bạn là một lập trình viên Ruby, bạn có thể muốn cài đặt Ruby GEM để bạn có thể có một tài liệu tham khảo có thể sử dụng được cho mã cốt lõi của nó trong mã tùy chỉnh của riêng bạn. Nhưng một tệp nhị phân thực hiện một tác vụ trợ giúp tương đương hoặc của Trình trợ giúp trực tuyến được cài đặt dọc theo các tệp thư viện Ruby GEM đó. Từ quan điểm quản lý hệ thống tệp, một số người dùng có thể muốn cài đặt các tệp nhị phân đó trong một thư mục riêng thay vì thư mục Ruby GEMs mặc định.

- -user-cài đặt

Vì vậy, trong khi -​-bindirlà một tùy chọn để kiểm soát nơi các tệp nhị phân được liên kết với Ruby GEM được cài đặt, -​-user-installlà một ghi đè thủ công cho nơi tất cả các tệp Ruby GEM được cài đặt; nhị phân, thư viện và những thứ khác như thế. Bằng cách sử dụng, -​-user-installbạn đang hướng dẫn Ruby GEM cài đặt GEM trong ~/.gemthư mục đó là khóa học của khóa học trong thư mục chính của người dùng. Nếu không có -​-user-installtùy chọn, các tệp Ruby GEM sẽ được cài đặt ở bất cứ nơi nào có GEM_HOMEđường dẫn mặc định .

Thay đổi đường dẫn tệp mặc định --user-installsẽ không ảnh hưởng tiêu cực đến bất cứ điều gì về hoạt động. Các Ruby GEM sẽ chỉ được cài đặt trong một ~/.gemthư mục mà trong thư mục nhà của bạn, và Ruby sẽ biết để kiểm tra ở đó cũng như đường dẫn mặc định của chính nó để cập nhật.


Cảm ơn đã dành thời gian để làm rõ điều đó cho tôi. Việc sử dụng --user-installcho một viên ngọc (chẳng hạn như Jekyll chẳng hạn) có ảnh hưởng gì đến hoạt động, cập nhật trong tương lai, v.v. không? Hay Ruby được viết để vận hành theo cùng một cách cho dù đá quý ở trong GEM_HOMEhay ở nơi khác?
jsejcksn

@jsejcksn Thay đổi đường dẫn tệp mặc định --user-installsẽ không ảnh hưởng tiêu cực đến bất kỳ điều gì về hoạt động. Bất cứ đường dẫn mới nào sẽ chỉ được thêm vào ~/.gemrctệp của bạn để cài đặt Ruby cục bộ của bạn có thể theo dõi nó như mọi thứ khác và làm bất cứ điều gì nó phải làm để duy trì hoạt động.
JakeGould 21/07/2016

Tôi không có một ~/.gemrctập tin, ngay cả sau khi cài đặt. Bạn có ngụ ý rằng việc cài đặt sẽ tạo ra nó hay đó là một bước nữa tôi cần thực hiện thủ công?
jsejcksn

@jsejcksn Cái xấu của tôi trên ~/.gemrc; Tôi đã trộn lẫn các khái niệm và bây giờ nhận ra rằng các Ruby GEM được cài đặt cục bộ sẽ được cài đặt trong ~/.gemđường dẫn là khóa học của khóa học trong thư mục nhà của người dùng. Cập nhật câu trả lời của tôi để làm rõ điều này.
JakeGould
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.