1

我正在尝试安装 ibm_db gem,以便可以从 Ruby 访问 DB2。当我尝试:

sudo gem install ibm_db

我收到以下澄清请求:

选择要为您的平台安装的 gem (i486-linux)
 1.ibm_db 0.10.0(红宝石)
 2.ibm_db 0.10.0 (mswin32)
 3.ibm_db 0.9.5 (mswin32)
 4.ibm_db 0.9.5(红宝石)
 5.跳过这个宝石
 6.取消安装

我总是要安装 linux 版本(我假设是“ruby”版本),所以有没有办法直接从 gem install 命令中选择我要安装的版本?

这是一个问题的原因是我需要通过 bash 脚本自动执行此安装,所以我想提前选择我想要“ruby”版本。

4

6 回答 6

2

您可以使用“此处文档”。那是:

sudo gem install ibm_db <<heredoc
  1
heredoc

\<\<\SOMETHING 和 SOMETHING 之间的内容被输入为上一个命令的条目(有点像 ruby​​ 自己的 heredocuments)。当然,其中的 1 是“ibm_db 0.10.0 (ruby)”平台的选择。

希望够了。

于 2008-09-19T18:07:55.427 回答
1

试试这个:

sudo gem install --platform ruby ibm_db

请注意,您可以使用以下命令获取有关安装命令的帮助:

gem help install

更新:看起来这个选项只适用于 RubyGems 0.9.5 或更高版本。

于 2008-09-19T17:56:30.897 回答
0

@约翰托普利

我已经尝试过 gem help install ,而 --platform 在帮助和实践中都不是一个选项:

$ sudo gem install ibm_db --platform ruby
错误:执行 gem 时...(OptionParser::InvalidOption)
    无效选项:--platform

更新:Ubuntu repos 有 0.9.4 版本的 ruby​​gems,它没有 --platform 选项。看来它可能是0.9.5 中的一个新功能,但仍然没有它的在线文档,无论如何,它无法在我需要它工作的平台 Ubuntu 上运行。

于 2008-09-19T18:03:37.277 回答
0

试试这个,我认为它只适用于 Bash

sudo gem install ibm_db < <(echo 1)
于 2008-09-19T18:12:50.093 回答
0

1.0 及更高版本的 Rubygems 会自动检测您正在运行的平台,因此不会问这个问题。您可以将您的宝石更新到最新版本吗?

$ sudo gem update --system

更新后,如果您在 Windows 上,请收到警告;你可能会遇到这个问题

于 2008-09-19T18:41:00.447 回答
0

另一种选择是下载 .gem 文件并手动安装,如下所示:

sudo gem install path/to/ibm_db-0.10.0.gem

这颗特殊的宝石在ruby​​forge

于 2008-09-19T18:51:34.477 回答