4
7

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.

Homebrewでsqlite3をインストールしたが,シンボリックリンクの作成ができない時の対処法

Last updated at Posted at 2019-03-25

はじめに

Sinatraでデータベースを扱おうと思い,とりあえず一番初めに見た記事でsqlite3を使用していたので,それを使用することにしました.
Homebrewでインストールしましたが,早速悩む羽目になったので,備忘録として残します.

環境

$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.14.3
BuildVersion:	18D109
$ brew -v
Homebrew 2.0.5

sqlite3のインストールの前に

Macにはデフォルトでsqlite3が入っているみたいです.
そのバージョンや場所を確認しておきます.

$ sqlite3 --version
3.24.0 2018-06-04 14:10:15 ...

$ which sqlite3
/usr/bin/sqlite3

特に気にならない方はこちらを使用しても良いのですが,デフォルトで入っているsqlite3のアップデート方法がわからなかったので,今回はHomebrewでインストールして使うことにしました.

sqlite3のインストール

早速Homebrewでsqlite3をインストールします.
Homebrew自体のインストール方法については,割愛します.

$ brew install sqlite3
...
sqlite is keg-only, which means it was not symlinked into /usr/local,
because macOS provides an older sqlite3.
...

色々出てきました...
とりあえず気にせずsqlite3の確認をしても上記のデフォルトのバージョンおよび場所が表示されます.

シンボリックリンクの作成

どうやらsqlite3はkeg-onlyで,シンボリックリンクを作成しないらしい...(ここで初めて,Homebrewではシンボリックリンクを作成して,そこを参照していることを知りました.)
ということで,色々調べると,以下のコマンドでシンボリックリンクを作成できるらしいです.

$ brew link sqlite3 --force
Warning: Refusing to link macOS-provided software: sqlite
If you need to have sqlite first in your PATH run:
  echo 'export PATH="/usr/local/opt/sqlite/bin:$PATH"' >> ~/.zshrc

For compilers to find sqlite you may need to set:
  export LDFLAGS="-L/usr/local/opt/sqlite/lib"
  export CPPFLAGS="-I/usr/local/opt/sqlite/include"

For pkg-config to find sqlite you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/sqlite/lib/pkgconfig"

とりあえず,作成はできていません泣
試しに/usr/local/binを見ても無いことがわかるかと思います.

自分で作る

ということで,/usr/local/binに自分でsqlite3へのシンボリックリンクを作成しました.

$ cd /usr/local/bin
$ ln -sf ../Cellar/sqlite/3.27.2/bin/sqlite3 ./

3.27.2の部分はインストールしたsqlite3のバージョンに合わせてください.
これでsqlite3のバージョンおよび場所がHomebrewでインストールしたところを指していると思います.

$ sqlite3 --version
3.27.2 2019-02-25 16:06:06 ...

$ which sqlite3
/usr/local/bin/sqlite3

最後に

今回は,Homebrewでsqlite3をインストールしたが,パスを通せないという場合の対処法を書きました.
対処法ということで,リンクが作成できなかった原因はまだ解決していません.似たような症状の方を見かけていないので,気になるところではあります.
本来ならbrew link sqlite3 --forceで通せると思います.

参考サイト

SQLite - [brew]OSXのbrewでインストールしたソフトウェアを常に使えるようにしたい|teratail
[Mac][Ruby]Rails環境構築には、データベースとしてSQLiteをオススメする! | Gabekore Garage

4
7
1

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
4
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?