Автоматизируйте установку Ruby Gem, которая имеет входные данные
-
01-07-2019 - |
Вопрос
Я пытаюсь установить драгоценный камень ibm_db, чтобы я мог получить доступ к DB2 из Ruby.Когда я пытаюсь:
sudo gem install ibm_db
Я получаю следующий запрос на разъяснение:
Select which gem to install for your platform (i486-linux) 1. ibm_db 0.10.0 (ruby) 2. ibm_db 0.10.0 (mswin32) 3. ibm_db 0.9.5 (mswin32) 4. ibm_db 0.9.5 (ruby) 5. Skip this gem 6. Cancel installation
Я всегда собираюсь устанавливать версию Linux (которая, как я предполагаю, является версией "ruby"), так есть ли способ выбрать, какую из них я буду устанавливать прямо из команды gem install?
Причина, по которой это проблема, заключается в том, что мне нужно автоматизировать эту установку с помощью bash-скрипта, поэтому я хотел бы заранее выбрать версию "ruby".
Решение
Вы можете использовать "здесь документ".Это:
sudo gem install ibm_db <<heredoc
1
heredoc
Что находится между \<\<\SOMETHING и ЧТО-ТО вводится как запись в предыдущую команду (что-то вроде собственных heredocuments ruby).Единственным, конечно, является выбор платформы "ibm_db 0.10.0 (ruby)".
Надеюсь, этого будет достаточно.
Другие советы
Попробуй это:
sudo gem install --platform ruby ibm_db
Обратите внимание, что вы можете получить справку по команде install, используя:
gem help install
Обновить: Похоже, эта опция работает только для RubyGems 0.9.5 или выше.
Попробуйте это, я думаю, что это работает только на Bash, хотя
sudo gem install ibm_db < <(echo 1)
Я уже пробовал установить gem help, и --platform - это не вариант, как в справке, так и на практике:
$ sudo gem install ibm_db --platform ruby ERROR: While executing gem ... (OptionParser::InvalidOption) invalid option: --platform
Обновить:Репозитории Ubuntu имеют версию rubygems 0.9.4, в которой нет опции --platform.Похоже, это может быть новая функция в версии 0.9.5, но онлайн-документации по нему по-прежнему нет, и, несмотря на это, он не будет работать на Ubuntu, которая является платформой, на которой мне нужно, чтобы он работал.
Версии Rubygems от 1.0 и выше автоматически определяют платформу, на которой вы работаете, и поэтому не задают этот вопрос.Можете ли вы обновить свои драгоценные камни до последней версии?
$ sudo gem update --system
Имейте в виду, если вы используете Windows после обновления;вы можете столкнуться с этот вопрос.
Другой вариант - загрузить файл .gem и установить его вручную как таковой:
sudo gem install path/to/ibm_db-0.10.0.gem
Этот конкретный драгоценный камень находился в рубиновый горн.