自动安装具有输入的Ruby Gem

自动安装具有输入的Ruby Gem,ruby,database,automation,rubygems,db2,Ruby,Database,Automation,Rubygems,Db2,我正在尝试安装ibm_db gem,以便可以从Ruby访问DB2。当我尝试时: 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 th

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

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 选择要为您的平台安装的gem(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.跳过这个宝石 6.取消安装 我总是要安装linux版本(我假设它是“ruby”版本),那么有没有办法直接从gem install命令中选择安装哪一个呢

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

尝试以下方法:

sudo gem install --platform ruby ibm_db
请注意,您可以通过以下方式获得有关install命令的帮助:

gem help install

更新:看起来此选项仅适用于RubyGems 0.9.5或更高版本。

@

我已经尝试过gem help install,而且--无论是在帮助中还是在实践中,平台都不是一个选项:

$ sudo gem install ibm_db --platform ruby ERROR: While executing gem ... (OptionParser::InvalidOption) invalid option: --platform $sudo gem安装ibm_db--平台ruby 错误:执行gem时。。。(OptionParser::InvalidOption) 无效选项:-平台

更新:Ubuntu repos有0.9.4版本的rubygems,没有--platform选项。看起来可能是这样,但仍然没有在线文档,而且不管怎样,它在Ubuntu上无法工作,而Ubuntu是我需要它工作的平台。

你可以使用“here document”。即:

sudo gem install ibm_db <<heredoc
  1
heredoc

sudogem安装ibm_db试试这个,我认为它只适用于Bash

sudo gem install ibm_db < <(echo 1)

sudo gem安装ibm_dbRubygems 1.0及以上版本会自动检测您正在运行的平台,因此不会问这个问题。你能将你的gems更新到最新版本吗

$ sudo gem update --system

更新后,如果您在Windows上,将收到警告;您可能会遇到。

另一个选项是下载.gem文件并手动安装:

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

这个特定的gem位于。

您使用的是哪个版本的RubyGems?我刚刚用RubyGems v1.2.0在Mac OS X上试用了它,但没有出现这个错误。。。另请参阅:(否——rubygems在线文档中指定的平台)gem-v?0.9.4的输出是什么,这是ubuntu存储库的输出。。。不管怎样,rubygems网站本身并没有列出你的选项……它似乎在下一个版本中,而不是Ubuntu repos的版本。澄清:它在使用0.9.4 rubygems的Ubuntu上不起作用(在repos中),但这似乎可能是rubygems的更高版本的一个功能。嗯,有趣。。。虽然管道回波输出也可以工作。。。?IE sudo gem安装ibm_db|echo“1”谢谢,但我更喜欢使用我的打包系统来更新我的应用程序(即,由于我在Ubuntu上,apt get):-)这是适用于rubygems版本0.9.4的解决方案。。。检查gems帮助安装,看看是否有--platform选项。