概要
GolangでOracleに接続する際に、mattn/go-oci8のライブラリを使うことになると思います。ライブラリのGitHubのページにある手順に従ってMacにインストールしようとしたのですが、go getの実行時にoci.h: No such file or directory
が発生しました。
今回はこのエラーについて、対応した内容をメモ書きします。
原因
原因はエラーにある通りの内容で、oci.h
というファイルが無いからになります。
まず前提として、このライブラリを使う前にOracleのInstant Clientを用意する必要があります。基本的にはmattn/go-oci8
のGitHubのページにある手順の通り、ダウンロードした後に、設定ファイルの作成とパスを通せば良いです。ただ、このInstant Clientでにて、接続時に使用するoci.h
が含まれてませんでした。
対応
Macに限った話ではないのですが、 Instant ClientではBasic Package
と、oci.hのように開発時に使用するSDK Package
がファイルとして分けて提供されています。こちらがInstant Clientのダウンロードページなのですが、使用するOSを選択してBasic Package
とSDK Package
をダウンロードして同じフォルダに配置すればOKです。