Як встановити локальний дорогоцінний камінь?


Відповіді:


288

Так, коли ви це зробите gem install, він спочатку здійснить пошук у поточній папці, тому якщо ваш файл .gem знайдеться, він підбере його. Я знайшов це у довідці про дорогоцінне каміння , яке вам може бути зручним:

gem install встановить названий gem. Він спробує локальну установку (тобто .gem-файл у поточному каталозі), і якщо це не вдасться, спробує завантажити та встановити останню версію потрібного коштовного каменю.


2
Посилання закінчується нескінченними переадресаціями :(
Ain Tohvri

2
Перевірка , щоб сказати , що це працює для мене в 2019
Чарльз Вуд

1
У мене є, Gemfileале не .gemфайл. Отже, що це за .gemфайл? Що воно повинно містити? - Зачекай - бачу. Ви маєте на увазі gem-name.gemфайл. Пам'ятайте, що на unix цілком нормально мати файл, починаючи з знака "." тому краще прописати це.
Мартін

Я можу підтвердити з майбутнього 2020 року, посилання працює для мене. Якщо це не спрацює у віддаленому майбутньому, ось знімок
Джед Берк

329

Також можна використовувати gem install --local path_to_gem/filename.gem

Це дозволить пропустити звичайне сканування сховища дорогоцінних каменів, що відбувається, коли ви виходите з роботи --local.

Ви можете знайти іншу магію за допомогою gem install --help.


Я завантажую дорогоцінний камінь, наприклад, рубігем у zip-форматі. Отже, тут немає файлу .gem. Як встановити це з локального? Дякую.
Ерран Морад

3
@BoratSagdiyev, поштовий файл - це не дорогоцінний камінь. Як і більшість поштових файлів, вам потрібно розпакувати їх, перш ніж ви зможете багато з цим зробити. Якщо він містить дорогоцінний камінь, то ви можете використовувати встановити gem у витягнутому файлі .gem. Я не пам’ятаю внутрішніх даних формату дорогоцінного каміння; можливо, це може бути просто zip-файл із спеціальним заголовком, але rubygems не розпізнає zip-файли як такі.
JasonTrue

62

ви також можете використовувати повне ім’я файлу для вашого дорогоцінного файлу:

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

це також працює - це, мабуть, найпростіший спосіб


38

Якщо ви створюєте свої дорогоцінні камені за допомогою постачальника:

# do this in the proper directory
bundle gem foobar

Ви можете встановити їх за допомогою граблі після їх написання:

# cd into your gem directory
rake install

Швидше за все, і ваш завантажений дорогоцінний камінь теж буде знати rake install.


3
це здається найкращою сучасною відповіддю. прийнята відповідь від 8 років тому
sixty4bit

14

якщо ви завантажите файл проекту з github або іншого хостового веб-сайту scm, спочатку скористайтеся gem build, щоб створити проект, щоб ви могли отримати файл what.gem у поточному каталозі. Тоді встановіть дорогоцінний камінь!


13

Якщо ви хочете попрацювати над локально модифікованою виделкою дорогоцінного каміння, найкращий спосіб це зробити

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

в Gemfile.

... де ./pryбув би клон вашого сховища. Просто запустіть bundle installодин раз, і всі зміни джерел дорогоцінного каміння, які ви вносите, негайно відображаються. З gem install pry/pry.gem, джерела все ще переміщені, GEM_PATHі вам завжди доведеться запускати bundle gem pryі gem updateтестувати.


5

Ідіть до стежки, де знаходиться дорогоцінний камінь, і дзвоніть gem install -l gemname.gem


0

Ну, це моя сушильна установка:

  1. Подивіться на комп'ютер з уже встановленими дорогоцінними каменями , необхідних в каталозі кешу (за замовчуванням: [Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache)
  2. Скопіюйте всі « *.gemsфайли» на комп'ютер без дорогоцінних каменів в своєму місці схованки каменю (за замовчуванням того ж покровитель шлях першого кроку: [Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache)
  3. У консолі розташовуйте в кеші дорогоцінних каменів (cd [Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache) і запускайте gem install anygemwithdependencieshere(за прикладом cucumber-2.99.0)

ДРУГО, оскільки після встановлення будь-якого дорогоцінного каменю, за замовчуванням rubygems поміщає файл gem в каталог кешів дорогоцінних файлів і не має сенсу дублювати файли thats, це простіше, якщо ви хочете, щоб обидва комп'ютери мали однакові версії (або заблоковані параноїчними правилами безпеки: v)

Редагувати: У деяких версіях рубіну чи рубігемів це не працює, а сповіщення про помилки чи помилки, ви можете помістити дорогоцінні камені в інше місце, але не отримати DRY, інша альтернатива - використовувати інтегровану команду запуску gem serverта додати URL-адресу localhost у джерелах дорогоцінних каменів. інформація на: https://guides.rubygems.org/run-your-own-gem-server/


0

Ви можете завантажити дорогоцінні камені з https://rubygems.org/gems/ або створити локальний дорогоцінний камінь за допомогою пакета та стійки.

наприклад:

  • пакет gem yourGemName
  • граблі встановити

Подбайте про встановлення залежностей, перш ніж встановлювати фактичні дорогоцінні камені.

  • встановити gem --local /pathToFolder/xxx-2.6.1.gem

Примітка. Якщо ви використовуєте вільний td-агент і рубін на одній машині. Переконайтеся, що використовуєте команду td-agent td-agent-gem. td-агент має власну Рубі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.