Làm thế nào tôi có thể cài đặt một viên ngọc địa phương?


Câu trả lời:


288

Yup, khi bạn làm gem install, nó sẽ tìm kiếm thư mục hiện tại trước, vì vậy nếu tệp .gem của bạn ở đó, nó sẽ chọn nó. Tôi tìm thấy nó trên tài liệu tham khảo đá quý , mà bạn cũng có thể thấy tiện dụng:

cài đặt đá quý sẽ cài đặt đá quý được đặt tên. Nó sẽ thử cài đặt cục bộ (tức là tệp .gem trong thư mục hiện tại) và nếu thất bại, nó sẽ cố tải xuống và cài đặt phiên bản đá quý gần đây nhất mà bạn muốn.


2
Liên kết kết thúc trong các chuyển hướng vô hạn :(
Ain Tohvri

2
Đăng ký để nói rằng điều này có hiệu quả với tôi vào năm 2019.
Charles Wood

1
điều này không hiệu quả với tôi vào năm 2019
iconoclast

1
Tôi có một Gemfilenhưng không phải là một .gemtập tin. Vậy .gemtập tin này là gì? Nó nên chứa cái gì? - Chờ tôi nhìn thấy. Bạn có nghĩa là một gem-name.gemtập tin. Hãy nhớ rằng trên unix, việc có tệp bắt đầu bằng '.' Vì vậy, tốt hơn là đánh vần nó ra.
Martin

Tôi có thể xác nhận từ tương lai của năm 2020, liên kết hoạt động với tôi. Trong trường hợp nó không hoạt động trong tương lai xa, thì đây là ảnh chụp nhanh
Jed Burke

329

Ngoài ra, bạn có thể sử dụng gem install --local path_to_gem/filename.gem

Điều này sẽ bỏ qua việc quét kho lưu trữ đá quý thông thường xảy ra khi bạn rời đi --local.

Bạn có thể tìm thấy phép thuật khác với gem install --help.


Tôi tải xuống một loại đá quý như rubygems ở định dạng zip. Vì vậy, không có tập tin .gem ở đây. Làm thế nào để tôi cài đặt này từ địa phương? Cảm ơn bạn.
Erran Morad

3
@BoratSagdiyev, tệp zip không phải là đá quý. Giống như hầu hết các tệp zip, bạn cần giải nén nó trước khi bạn có thể làm được nhiều việc với nó. Nếu nó chứa đá quý, thì bạn có thể sử dụng cài đặt đá quý trên tệp .gem được giải nén. Tôi không nhớ nội bộ của định dạng đá quý; có thể nó chỉ là một tệp zip có tiêu đề đặc biệt, nhưng rubygems không nhận ra các tệp zip như vậy.
JasonTrue

62

bạn cũng có thể sử dụng tên tệp đầy đủ vào tệp đá quý của mình:

gem install /full/path/to/your.gem

điều này cũng hoạt động - có lẽ là cách dễ nhất


38

Nếu bạn tạo đá quý của bạn với bundler:

# do this in the proper directory
bundle gem foobar

Bạn có thể cài đặt chúng bằng cào sau khi chúng được viết:

# cd into your gem directory
rake install

Rất có thể, đá quý đã tải xuống của bạn cũng sẽ biết rake install.


3
đây có vẻ như là câu trả lời hiện đại nhất câu trả lời được chấp nhận là từ 8 năm trước
sixty4bit

14

nếu bạn tải xuống tệp dự án từ github hoặc trang web lưu trữ scm khác, hãy sử dụng gem build để xây dựng dự án trước, để bạn có thể lấy tệp any.gem trong thư mục hiện tại. Sau đó, gem cài đặt nó!


13

Nếu bạn muốn làm việc trên một ngã ba đá quý được sửa đổi cục bộ, cách tốt nhất để làm điều đó là

gem 'pry', path: './pry'

trong một Gemfile.

... nơi ./prysẽ là bản sao của kho lưu trữ của bạn. Chỉ cần chạy bundle installmột lần và bất kỳ thay đổi nào trong các nguồn đá quý bạn thực hiện sẽ được phản ánh ngay lập tức. Với gem install pry/pry.gem, các nguồn vẫn được chuyển vào GEM_PATHvà bạn sẽ luôn phải chạy cả hai bundle gem prygem updateđể kiểm tra.



0

Vâng, đây là cài đặt DRY của tôi:

  1. Nhìn vào một máy tính có đá quý đã được cài đặt cần thiết trong thư mục bộ đệm (theo mặc định [Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache:)
  2. Sao chép tất cả " *.gemstệp" vào máy tính không có đá quý ở vị trí bộ đệm đá quý riêng (theo mặc định cùng một đường dẫn bảo trợ của bước đầu tiên [Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache:)
  3. Trong bàn điều khiển được đặt trong bộ đệm đá quý (cd [Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache) và kích hoạt gem install anygemwithdependencieshere(ví dụ cucumber-2.99.0)

Đó là KHÓ

Chỉnh sửa: Trong một số phiên bản ruby ​​hoặc rubygems, nó không hoạt động và cảnh báo cháy hoặc lỗi, bạn có thể đặt đá quý ở nơi khác nhưng không nhận được DRY, thay thế khác là sử dụng lệnh khởi chạy tích hợp gem servervà thêm url localhost trong các nguồn đá quý, hơn nữa thông tin trong: https://guides.rubygems.org/run-your-own-gem-server/


0

Bạn có thể tải xuống đá quý từ https://rubygems.org/gems/ hoặc xây dựng cho bạn đá quý địa phương thông qua gói và giá đỡ.

ví dụ:

  • gói đá quý yourGemName
  • cài đặt cào

Hãy chăm sóc cài đặt phụ thuộc trước khi cài đặt đá quý thực tế.

  • cài đặt đá quý --local /pathToFolder/xxx-2.6.1.gem

Lưu ý: Nếu sử dụng fluentd td-agent và ruby ​​trên cùng một máy. Vui lòng đảm bảo sử dụng lệnh td-agent-gem của td-agent. đại lý td có Ruby riêng.

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.