質問

Ruby から DB2 にアクセスできるように、ibm_db gem をインストールしようとしています。試してみると:

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 と SOMETHING の間にあるものは、前のコマンドへのエントリとして入力されます (Ruby 自身のヒアドキュメントに似ています)。もちろん、そこにある 1 だけは、「ibm_db 0.10.0 (ruby)」プラットフォームの選択です。

それで十分だと思います。

他のヒント

これを試して:

sudo gem install --platform ruby ibm_db

以下を使用すると、インストール コマンドのヘルプが表示されることに注意してください。

gem help install

アップデート: このオプションは RubyGems 0.9.5 以降でのみ機能するようです。

これを試してみてください。Bash でのみ機能すると思いますが、

sudo gem install ibm_db < <(echo 1)

@ジョン・トップリー

すでに gem help install を試しましたが、ヘルプと実際の両方で --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 以降のバージョンでは、実行しているプラ​​ットフォームが自動的に検出されるため、そのような質問はされません。gemを最新のものに更新できますか?

$ sudo gem update --system

アップデート後に Windows を使用している場合は注意してください。遭遇するかもしれない この問題.

別のオプションは、.gem ファイルをダウンロードして手動でインストールすることです。

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

この特別な宝石は次の場所にありました ルビーフォージ.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top