1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ruby-odbcがインストールできないときに試すこと

Last updated at Posted at 2020-03-04

ruby-odbcがインストールできず、解決するまでに割と時間がかかったのでメモを残します。

注意

TD-agent + ruby-odbcでのインストールメモになります。

環境

  • Windows10 64bit
  • Ruby2.4
  • td-agent-3.5.1

最初の現象

  1. td-agentインストール(td-agent-3.5.1-0-x64.msi)
  2. ruby-odbcインストール($ fluent-gem install ruby-odbc)
    こんなエラーが・・・
Td-agentCommandPrompt.
ERROR:  Error installing ruby-odbc:
        ERROR: Failed to build gem native extension.

調べてみると、

  • ruby-odbcを入れるにはDevKitが必要
  • td-agentにはDevKitは入っていない
  • td-agent3.5のrubyは2.4
  • ruby2.4からDevKitはMSYS2を使っている

とのこと。

というわけで、MSYS2をインストール。

MSYS2をインストール + 他に必要なパッケージもインストール

MSYS2のインストーラーをダウンロードし、インストール。
インストーラーに従ってポチポチするだけでOKです。
インストールが完了すると「MSYS2 MSYS Shell」が立ち上がるので、パッケージを更新します。

MSYS2MSYSShell.
$ pacmamn -Syu

他には、gccとmakeも必要なので、インストールします。

MSYS2MSYSShell.
$ pacman -S mingw-w64-x86_64-toolchain
$ pacman -S make

ruby-odbcインストールのリベンジ

Td-agent Command Promptを起動し、MSYS2にPathを通してあげて、インストールすると成功しました。

Td-agentCommandPrompt.
$ set PATH="%~dp0embedded\bin";C:\msys64\mingw64\bin;C:\msys64\usr\local\bin;C:\msys64\usr\bin;C:\msys64\bin;%PATH%
$ fluent-gem install ruby-odbc
...
Successfully installed ruby-odbc-0.99999

まとめ

MSYS2をインストールして、gccとmakeをインストールして、MSYS2のpathを通してやればインストールできるようになります。

参考ページ

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?