Как я могу установить локальный драгоценный камень?

Если я загружу файл .gem в папку на моем компьютере, могу ли я установить его позже с помощью gem install?

Jaider 16.07.2014 00:35
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Шаг 1: Создание приложения Slack Чтобы создать Slackbot, вам необходимо создать приложение Slack. Войдите в свою учетную запись Slack и перейдите на...
344
1
333 316
9
Перейти к ответу Данный вопрос помечен как решенный

Ответы 9

Ответ принят как подходящий

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

gem install will install the named gem. It will attempt a local installation (i.e. a .gem file in the current directory), and if that fails, it will attempt to download and install the most recent version of the gem you want.

Ссылка заканчивается бесконечными редиректами :(

Ain Tohvri 25.11.2014 13:57

Проверяюсь, чтобы сказать, что это сработает для меня в 2019 году.

Charles Wood 05.07.2019 16:26

У меня есть Gemfile, но нет файла .gem. Так что это за файл .gem? Что в нем должно содержаться? - Подожди - понятно. Вы имеете в виду файл gem-name.gem. Помните, что в unix вполне нормально иметь файл, начинающийся с символа '.' так что лучше изложить это по буквам.

Martin 22.03.2020 11:15

Могу подтвердить с будущего 2020 года, ссылка у меня работает. На случай, если это не сработает в далеком будущем, вот Archive.org Снимок от 19 апреля 2020 г.

Jed Burke 30.05.2020 13:23

Также вы можете использовать gem install --local path_to_gem/filename.gem

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

Вы можете найти другую магию с gem install --help.

Я скачиваю такой гем, как rubygems, в формате zip. Так что здесь нет файла .gem. Как мне установить это с локального компьютера? Спасибо.

Erran Morad 10.01.2015 03:15

@BoratSagdiyev, zip-файл - это не жемчужина. Как и большинство zip-файлов, вам необходимо распаковать его, прежде чем вы сможете что-то с ним делать. Если он содержит гем, то вы можете использовать установку gem для извлеченного файла .gem. Я не помню, как устроен формат драгоценного камня; возможно, это может быть просто zip-файл со специальным заголовком, но rubygems не распознает zip-файлы как таковые.

JasonTrue 10.01.2015 06:50

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

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

это тоже работает - вероятно, это самый простой способ

Если вы создаете свои драгоценные камни с помощью Bundler:

# do this in the proper directory
bundle gem foobar

Их можно установить граблями после того, как они будут написаны:

# cd into your gem directory
rake install

Скорее всего, ваш загруженный гем тоже знает rake install.

это кажется лучшим современным ответом. принятый ответ 8 лет назад

sixty4bit 03.06.2016 23:33

это полезно для тех, кто создает драгоценные камни, но не для тех, кто просто хочет установить готовый

Igor Skochinsky 20.10.2020 16:23

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

Идите по пути, где находится драгоценный камень, и позвоните gem install -l gemname.gem.

Если вы хотите работать над локально измененным форком драгоценного камня, лучший способ сделать это -

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

в Gemfile.

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

Ну вот и моя СУХАЯ установка:

  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 помещает файл драгоценного камня в каталог драгоценного камня кеша и не имеет смысла дублировать эти файлы, это проще, если вы хотите, чтобы оба компьютера имели одинаковые версии (или заблокированы параноидальными правилами безопасности: v)

Edit: In some versions of ruby or rubygems, it don't work and fire alerts or error, you can put gems in other place but not get DRY, other alternative is using launch integrated command gem server and add the localhost url in gem sources, more information in: https://guides.rubygems.org/run-your-own-gem-server/

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

например:

  • связать драгоценный камень yourGemName
  • установить грабли

Позаботьтесь об установке зависимостей перед установкой реальных драгоценных камней.

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

Примечание: при использовании fluentd td-agent и ruby ​​на одной машине. Обязательно используйте команду td-agent-agent-gem. У td-agent есть собственный Ruby.

Другие вопросы по теме