全部読めば何が必要で何が不要かなぜそれが必要なのかという事が自分で考えるられるようになるよ~ん!
ちょい長いけど、しっかり理解したいなら読まないと損!(つっても、1本1本は割りと短い)
逆に言えば、理解しなくていい・手順だけが分かればそれでいいってな人にはオススメしません
>> [2017年]MacでRuby on Rails環境構築を理由も含めてきちんと教えちゃる![Ruby]
>> [Mac][Ruby]Rails環境構築には、Xcode / Command Line Toolsが必要なのだ!
>> [Mac][Ruby]Rails環境構築には、Homebrewでパッケージ管理してラクをしろ!
>> [Mac][Ruby]Rails環境構築には、rbenvを使わないなんて正気ですかっ!?
>> [Mac][Ruby]Rails環境構築には、rbenvで複数のRubyバージョンを切り替えろ!
>> [Mac][Ruby]Rails環境構築には、Bundlerで複数のRailsバージョンを切り替えろ!
イマココ >> [Mac][Ruby]Rails環境構築には、データベースとしてSQLiteをオススメする!
>> [Mac][Ruby]Rails環境構築には、SQLiteを使うためのgemが必要!
>> [Mac][Ruby]Rails環境構築には、Railsプロジェクトの作り方にはコツがある!
9本の記事でRails環境構築の解説をしています
この記事は7本目、SQLiteのインストールについて解説してます
- Railsの環境構築手順を知りたい人
- Railsの環境構築で、なぜそれらをインストールするのか「理解」したい人
- Homebrew?、rbenv?、Bundeler?、gem? ←これらの事がよく分からない人
- オススメしません!! → 手っ取り早くRails環境構築手順を知りたい人
ぜひこちらもご覧ください
Contents
事前説明
ここではこれをインストールします
しかし、SQLiteのインストールをするにあたり、考え方が2つあります
考え方の1つ目:Macに最初からインストールされているSQLiteを使うパターン
Macには最初からSQLiteがインストールされています
この記事ではHomebrew経由でのSQLiteのインストール手順を説明してるんだけど、
最初からインストールされているんだったら、それ使えば良くなくね? わざわざHomebrew経由でのインストールなんか要らなくね?
と思う方は、
最初からMacに入っているSQLiteを使うので、新たなSQLiteをインストールしない! のパターン
この場合はインストールされているかだけ確認しておいてください
確認方法は次章で書いています
考え方の2つ目:Homebrew経由でインストールしたSQLiteを使うパターン
Macには最初からSQLiteがインストールされています・・・とは言うものの、別にHomebrew経由でインストールしても構いません
インストールするソフトは全てHomebrewで管理したい!
と思う方は、
最初からインストールされているSQLiteなんてイラネ、Homebrew経由でインストールしたSQLiteを使うねん! のパターン
この場合はHomebrew経由でインストールするので、事前にHomebrewをインストールしておいてやぁ~
↓Homebrewのインストールについてはコッチの記事ね
>> [Mac][Ruby]Rails環境構築には、Homebrewでパッケージ管理してラクをしろ!
Homebrew経由でインストールした場合、あなたのMacの中にはSQLiteが2つ存在することになります
SQLiteを使うにはターミナルでsqlite3 -version
みたいな感じで打てばいいんだけど、2つ以上のSQLiteが存在していたらどちらを使えばいいか分からないよね
フルパスを打てば両方を使い分けることは可能だけど、フルパスを毎回打つなんて面倒な事やってられへん!!!
なので滅多にそんなことはしまへん
で、ターミナルにsqlite3
とだけ打って、どちらのSQLiteが実行されるのかは環境変数のPATHで決まります
ってことで、環境変数のPATHを必要に応じて修正しましょ~
環境変数のPATHをチェック及び修正方法を記事後半で書いています
参考:Homebrewからのインストールはした方がいいの?
Homebrewだけに限りませんが、パッケージマネージャーを使うメリットとしては以下があります
- インストール場所が一つになる
Homebrewの場合は、/usr/local
になる(自分の好きな場所への変更は可能)
デメリット?
複数バージョンの共存は難しい
どうしても複数バージョンを共存させたかったら、rbenvのような複数バージョンの切り替えソフトが必要
- インストール手順がラクチン
- ダウンロードを勝手にやってくれる
コマンド一発でインターネットからダウンロードしてインストールまでやってくれる
デメリット?- インターネットにつながっている必要がある
- そもそも、インストールしたいソフトが使用しているパッケージマネージャーに対応していなかったら、インストールできない
- ソフトによってはインストールするために何度かコマンドを打つ必要があったりするけど、パッケージマネージャー経由でのインストールならコマンド1回でできる
例)brew install ○○
- AのソフトをインストールするにはBが必要な場合がある(これを依存関係と言う)、その場合でもついでにBもインストールしておいてくれる(これを依存関係の解決と言う)
デメリット?
逆の言い方をすれば、使わないので要らないと分かっている物までインストールされてしまうことがある
- ダウンロードを勝手にやってくれる
- アップデートもラクチン
パッケージマネージャーで管理しているソフト全てを一括でアップできたりする
デメリット?
最新バージョンがパッケージマネージャーに対応していないとアップデートできない、もしくはタイムラグがある
- アンインストールもラクチン
詳しくはWikipedia見てください
で、Homebrew経由でインストールする方が良いの?悪いの? どっちやねん!!!!?
どちらでもいいです
まぁ、好みですね
僕はHomebrewの使用をオススメしていますし、
最初から入っているSQLiteを使っても何の問題も無いけど、バージョンが古いし、アップデートのやり方が面倒だったりするの、個人的にはHomebrew経由でインストールしたものを使う方が好きです
って事で、この記事ではそれ経由のインストール手順を解説しています
Homebrewを使わない場合の手順は別途ご自分で調べてくださいね
ちなみに、Homebrew経由でインストール可能なリストは、
> brew search
と打てばOK
FORMULA名(一部分でもOK)が分かっているならこう書いてもOK↓
> brew search sqlite > brew search sql > brew search lite[/aside]
前提知識
※知っている人は読む必要無いっス!
SQLiteのインストール場所について
Macに最初から入っているSQLiteは/usr/bin
に入っているはず
Homebrew経由でインストールしたSQLiteは/usr/local/bin
?に入っているはず
上記以外の場所に入っている場合、この記事では対応しきれません
whichコマンドを知ろう
※Windowsの場合はwhere
コマンド
> which sqlite
とか
> which sqlite3
とかと打てば、インストール場所が分かります
※ただし、環境変数PATHに登録されているディレクトリに存在していればね
環境変数PATHの登録内容を知ろう
環境変数PATHにディレクトリを登録するんだけど、その登録順序が重要!
↓くわしくはコッチの記事を見てね
>> [Mac]環境変数PATHの設定・変更・追加・確認・順番入れ替えの方法
冒頭に出した2つの考え方、あなたはどっちにしますか?
ここで決めてください!
冒頭に出した2つの考え方、あなたはどっちにしますか?
- 考え方の1つ目:Macに最初からインストールされているSQLiteを使うパターン
- 考え方の2つ目:Homebrew経由でインストールしたSQLiteを使うパターン
ここで決めてください!
決めてから読み進めてください
↓
↓
↓
↓
↓
決めましたか?
決めたら、次章の事前確認を読んでください
考え方の1つ目:Macに最初からインストールされているSQLiteを使うパターンの人用
と
考え方の2つ目:Homebrew経由でインストールしたSQLiteを使うパターンの人用
の2つあるので、必要な方を読んでください
事前確認
考え方の1つ目:Macに最初からインストールされているSQLiteを使うパターンの人用
確認:Macに最初から入っているSQLiteの存在を確認する
通常であれば/usr/bin
に入っているはずです
念のために存在を確認しておきましょう
ターミナルで以下のコマンドを打ってください
> ls -la /usr/bin/sqlite3
↓と表示されるとインストールされていないです
ls: /usr/bin/sqlite3: No such file or directory
↓と表示されるとインストールされています
-rwxr-xr-x 1 root wheel 172592 7 9 2016 /usr/bin/sqlite3
確認:使える状態になっているか確認する
ターミナルで以下のコマンドを打ってください
> which sqlite3
/usr/local/bin/sqlite3
と表示されればOKです
whichコマンドで何も表示されない場合
PATHが通っていません環境変数PATHを確認してください
/usr/local/bin
へパスを通しましょう
whichコマンドで違うディレクトリが表示される場合
動く状態になっているならそれでもいいです
/usr/local/bin
にあるSQLiteを動かしたいなら、/usr/local/bin
へパスを通しましょう
環境変数PATHにディレクトリを登録することを「パスを通す」と表現します
会話例1:
同僚:「コマンド(アプリ)をインストールしたんだけど、ターミナルで打っても起動してくれへんねん」
オレ:「パス通ってるの? 環境変数のPATH確認してみたら?」
同僚:「あ、ホンマや、PATHに登録されないないわ(パス通ってないわ)」
会話例2:
同僚:「コマンド(アプリ)の最新バージョンをインストールしたんだけど、ターミナルで打っても古いバージョンが起動するねん」
オレ:「最新バージョンの方にパス通ってるの? それか、古いバージョンの方が先にパス通ってるんじゃないの?」
同僚:「最新バージョンへのディレクトリも古いバージョンへのディレクトリもPATHに登録されてるけど(パス通ってるけど)、古いバージョンの方が先に登録されてるわ。最新バージョンの方のディレクトリを前になるようPATHを変更するわ」
インストールされている&パスは通っている
これ以上することは何もありません
この記事で得られるものはもうありません
インストールされていない
インストールしましょう
SQLiteはHomebrew経由じゃなくてもインストールできますので、別途SQLiteをインストールしてください
この記事ではその手順を説明していません・・・・
「mac sqlite インストール」とかで検索してください
この記事で得られるものはもうありません
Macに最初から入っているSQLiteの場所を移動していたり、違う場所にある場合はちょっとこの記事では分かりません
> find / -name "*sqlite3*"
みたいな感じで検索することはできますけど、きっと大量にでてきます
sqliteの実行ファイル本体であるかどうかを見分けるのは大変です
そんな面倒なことやっていられません
which
で確認するのが良いでしょう
事前確認
考え方の2つ目:Homebrew経由でインストールしたSQLiteを使うパターンの人用
確認:Homebrew経由でSQLiteがインストールされているか確認する
ターミナルで以下のコマンドを打ってください
> brew list
↓こんな感じのが表示されるでしょう
autoconf openssl pstree ruby-build gdb openssl@1.1 rbenv wget libyaml pkg-config readline
↑ここにsqliteの表示があればHomebrew経由でのSQLiteをインストール済みです
確認:使える状態になっているか確認する
ターミナルで以下のコマンドを打ってください
> which sqlite3
/usr/local/bin/sqlite3
と表示されればOKです
whichコマンドで何も表示されない場合
PATHが通っていません環境変数PATHを確認してください
/usr/local/bin
へパスを通しましょう
whichコマンドで違うディレクトリが表示される場合
動く状態になっているならそれでもいいです
/usr/local/bin
にあるSQLiteを動かしたいなら、/usr/local/bin
へパスを通しましょう
環境変数PATHにディレクトリを登録することを「パスを通す」と表現します
会話例1:
同僚:「コマンド(アプリ)をインストールしたんだけど、ターミナルで打っても起動してくれへんねん」
オレ:「パス通ってるの? 環境変数のPATH確認してみたら?」
同僚:「あ、ホンマや、PATHに登録されないないわ(パス通ってないわ)」
会話例2:
同僚:「コマンド(アプリ)の最新バージョンをインストールしたんだけど、ターミナルで打っても古いバージョンが起動するねん」
オレ:「最新バージョンの方にパス通ってるの? それか、古いバージョンの方が先にパス通ってるんじゃないの?」
同僚:「最新バージョンへのディレクトリも古いバージョンへのディレクトリもPATHに登録されてるけど(パス通ってるけど)、古いバージョンの方が先に登録されてるわ。最新バージョンの方のディレクトリを前になるようPATHを変更するわ」
インストールされている&パスは通っている
これ以上することは何もありません
この記事で得られるものはもうありません
インストールされていない
インストールしましょう
Homebrew経由でのインストール手順はこの記事で説明していますので、読み進みてください
インストール
この記事ではHomebrew経由でSQLiteをインストールします
ターミナルで以下のコマンドを打てばインストールが始まります
※brew install sqlite3の方がいいのかな? ごめんなさい、「3」を付けるべきなのか、付けても付けなくても同じなのか、ちょっと分からないです。多分どっちでも同じだろうけど
> brew install sqlite
インストールしたら終わりと思うなよ!
keg-onlyなのですぐには使えないよ!
インストール自体は簡単でコマンド一発で終わりなんですけど、HomebrewにおけるSQLiteはkeg-onlyなんですよ
ん? keg-onlyってなんやねん????
インストールのログを読んでみてください
こんなのが出ているはずです
This formula is keg-only, which means it was not symlinked into /usr/local, because macOS provides an older sqlite3.
このフォーミュラ(Homebrewではソフトウェアのことをフォーミュラと言う)はkeg-onlyだよ~ん
なので、
/usr/local
へのシンボリックリンクは作らないよ
それは、Macが最初っからsqlite持ってるからだよ
Homebrew経由でインストールしたSQLiteを使いたいなら、お前が自分でシンボリックリンク作るか何かしやがれ!
keg-onlyじゃない普通のフォーミュラなら、/usr/local/Cellar
にインストールして、/usr/local/bin
にシンボリックリンク置くんやけどな(リンク先はもちろんインストールされた/usr/local/Cellar
)
代わりに、/usr/local/opt
にシンボリックリンク置いといたるわ(リンク先はもちろんインストールされた/usr/local/Cellar
)
あとは、自分でやりやがれ!!!
kegは樽とか入れ物とかっていう意味です
Homebrewのbrewがビールとかっていう意味なので、ビールの入れ物が樽という事なんでしょうね
weblio「keg」
cellarは地下室とか貯蔵庫って言う意味
weblio「cellar」
↓kegで検索すると参考になるかも
keg-onlyなフォーミュラを、ちゃんと使えるようにするには?
パターン1:自力でシンボリックを作る
※普通はやらないってか、やらないらしい
自分で/usr/local/bin
にシンボリックリンクを作れば使えるようになるけど、シンボリックリンクを作るコマンドをHomebrewにあるのでそれを使うと良いので、自力でln
コマンドを打つ必要は無い
パターン2:/usr/local/opt
にあるシンボリックリンクを環境変数PATHに追加する
※普通はやらない・・・と思う
インストールログを読んでみてね
こんなの出てるよ
↓
If you need to have this software first in your PATH run: echo 'export PATH="/usr/local/opt/sqlite/bin:$PATH"' >> ~/.bash_profile
パターン3:brew install
を使う
※普通はこのパターンらしい
> brew link sqlite3 --force
【オマケ】別に読まなくてもいいよ:brew link
をするとどうなる?
brew install でSQLiteをインストールしましたが、どこに何が入るのでしょうか?
インストールログを読めばわかるレベルですが、興味があれば参考までにどうぞ
インストール先のディレクトリ
インストールでは以下の3つのディレクトリにファイルとか入るようです
※他にも影響しているディレクトリやファイルがあるかも知れませんが、あくまでもインストールログで分かるところだけ見ます
/usr/local/Cellar/
フォーミュラ本体(と言うか実体)がインストールされます
環境変数PATHには直接ここを登録せず、/usr/local/bin
を登録し、
/usr/local/bin
においてシンボリックリンクを動作させるのが普通みたいです/usr/local/opt
シンボリックリンクを置いてますが、使い途はよく分かりません
ここにパス通せばいいような気がしないでもないけど(笑)
ま、普通はしないよね/usr/local/bin
ここにもシンボリックリンクが入ってますね
ここにパスを通すのがHomebrewでの通常の使い方です
brew link sqlite3 --force
直前を見てみる
Cellar
> ls -la /usr/local/Cellar/ total 0 drwxr-xr-x 14 username admin 476 8 17 07:02 . drwxrwxr-x 23 username admin 782 8 12 07:33 .. drwxr-xr-x 3 username admin 102 8 3 11:11 autoconf drwxr-xr-x 4 username admin 136 8 6 08:36 gdb drwxr-xr-x 3 username admin 102 7 13 00:54 libyaml drwxr-xr-x 5 username admin 170 7 13 00:54 openssl drwxr-xr-x 3 username admin 102 8 6 08:36 openssl@1.1 drwxr-xr-x 3 username admin 102 8 3 11:11 pkg-config drwxr-xr-x 3 username admin 102 2 3 2016 pstree drwxr-xr-x 3 username admin 102 8 3 11:11 rbenv drwxr-xr-x 3 username admin 102 7 13 00:54 readline drwxr-xr-x 3 username admin 102 8 3 11:11 ruby-build drwxr-xr-x 4 username admin 136 8 18 08:58 sqlite drwxr-xr-x 4 username admin 136 8 6 08:36 wget
opt
> ls -la /usr/local/opt total 128 drwxr-xr-x 18 username admin 612 8 17 07:02 . drwxrwxr-x 23 username admin 782 8 12 07:33 .. lrwxr-xr-x 1 username admin 23 8 3 11:11 autoconf -> ../Cellar/autoconf/2.69 lrwxr-xr-x 1 username admin 23 8 3 11:11 autoconf@2.69 -> ../Cellar/autoconf/2.69 lrwxr-xr-x 1 username admin 17 8 6 08:36 gdb -> ../Cellar/gdb/8.0 lrwxr-xr-x 1 username admin 23 7 13 00:54 libyaml -> ../Cellar/libyaml/0.1.7 lrwxr-xr-x 1 username admin 24 7 13 00:54 openssl -> ../Cellar/openssl/1.0.2l lrwxr-xr-x 1 username admin 24 7 13 00:54 openssl@1.0 -> ../Cellar/openssl/1.0.2l lrwxr-xr-x 1 username admin 28 8 6 08:36 openssl@1.1 -> ../Cellar/openssl@1.1/1.1.0f lrwxr-xr-x 1 username admin 27 8 3 11:11 pkg-config -> ../Cellar/pkg-config/0.29.2 lrwxr-xr-x 1 username admin 27 8 3 11:11 pkgconfig -> ../Cellar/pkg-config/0.29.2 lrwxr-xr-x 1 username admin 21 2 3 2016 pstree -> ../Cellar/pstree/2.39 lrwxr-xr-x 1 username admin 21 8 3 11:11 rbenv -> ../Cellar/rbenv/1.1.1 lrwxr-xr-x 1 username admin 26 7 13 00:54 readline -> ../Cellar/readline/7.0.3_1 lrwxr-xr-x 1 username admin 29 8 3 11:11 ruby-build -> ../Cellar/ruby-build/20170726 lrwxr-xr-x 1 username admin 23 8 17 07:02 sqlite -> ../Cellar/sqlite/3.20.0 lrwxr-xr-x 1 username admin 23 8 17 07:02 sqlite3 -> ../Cellar/sqlite/3.20.0 lrwxr-xr-x 1 username admin 23 8 6 08:36 wget -> ../Cellar/wget/1.19.1_1
bin
> ls -la /usr/local/bin total 18360 drwxrwxr-x 88 username admin 2992 8 6 08:36 . drwxrwxr-x 23 username admin 782 8 12 07:33 .. lrwxr-xr-x 1 root wheel 66 5 1 2016 2to3 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/2to3 lrwxr-xr-x 1 root wheel 70 5 1 2016 2to3-3.5 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/2to3-3.5 -rwxrwxr-x 1 root wheel 13972 1 12 2014 acyclic lrwxr-xr-x 1 username admin 71 2 15 2016 apm -> /Applications/Atom.app/Contents/Resources/app/apm/node_modules/.bin/apm lrwxr-xr-x 1 username admin 53 2 15 2016 atom -> /Applications/Atom.app/Contents/Resources/app/atom.sh lrwxr-xr-x 1 username admin 36 8 3 11:11 autoconf -> ../Cellar/autoconf/2.69/bin/autoconf lrwxr-xr-x 1 username admin 38 8 3 11:11 autoheader -> ../Cellar/autoconf/2.69/bin/autoheader lrwxr-xr-x 1 username admin 36 8 3 11:11 autom4te -> ../Cellar/autoconf/2.69/bin/autom4te lrwxr-xr-x 1 username admin 38 8 3 11:11 autoreconf -> ../Cellar/autoconf/2.69/bin/autoreconf lrwxr-xr-x 1 username admin 36 8 3 11:11 autoscan -> ../Cellar/autoconf/2.69/bin/autoscan lrwxr-xr-x 1 username admin 38 8 3 11:11 autoupdate -> ../Cellar/autoconf/2.69/bin/autoupdate -rwxrwxr-x 1 root wheel 19000 1 12 2014 bcomps lrwxr-xr-x 1 username admin 28 7 13 00:52 brew -> /usr/local/Homebrew/bin/brew lrwxr-xr-x 1 username admin 37 2 28 2016 c_rehash -> ../Cellar/openssl/1.0.2f/bin/c_rehash -rwxrwxr-x 1 root wheel 23884 1 12 2014 ccomps lrwxr-xr-x 1 504 staff 3 8 9 2016 circo -> dot -rwxrwxr-x 1 root wheel 48064 1 12 2014 cluster -rwxrwxr-x 1 root wheel 18816 1 12 2014 dijkstra -rwxrwxr-x 1 root wheel 18456 1 12 2014 dot lrwxr-xr-x 1 504 staff 6 8 9 2016 dot2gxl -> gxl2gv -rwxrwxr-x 1 root wheel 40608 1 12 2014 dot_builtins -rwxrwxr-x 1 root wheel 2085 1 12 2014 dotty lrwxrwxr-x 1 root admin 78 5 1 2016 easy_install-3.5 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/easy_install-3.5 lrwxr-xr-x 1 504 staff 3 8 9 2016 fdp -> dot -rwxrwxr-x 1 root wheel 18304 1 12 2014 gc -rwxr-xr-x 1 root admin 7230128 1 29 2016 gdb -rwxrwxr-x 1 root wheel 40156 1 12 2014 gml2gv -rwxrwxr-x 1 root wheel 24108 1 12 2014 graphml2gv -rwxrwxr-x 1 root wheel 751256 1 12 2014 gv-fc-cache -rwxrwxr-x 1 root wheel 22808 1 12 2014 gv2gml lrwxr-xr-x 1 504 staff 6 8 9 2016 gv2gxl -> gxl2gv -rwxrwxr-x 1 root wheel 35304 1 12 2014 gvcolor -rwxrwxr-x 1 root wheel 26108 1 12 2014 gvgen -rwxrwxr-x 1 root wheel 288632 1 12 2014 gvmap -rwxrwxr-x 1 root wheel 2190 1 12 2014 gvmap.sh -rwxrwxr-x 1 root wheel 33220 1 12 2014 gvpack -rwxrwxr-x 1 root wheel 12736 1 12 2014 gvpr lrwxr-xr-x 1 504 staff 6 8 9 2016 gxl2dot -> gxl2gv -rwxrwxr-x 1 root wheel 41692 1 12 2014 gxl2gv lrwxr-xr-x 1 root wheel 67 5 1 2016 idle3 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/idle3 lrwxr-xr-x 1 root wheel 69 5 1 2016 idle3.5 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/idle3.5 lrwxr-xr-x 1 username admin 35 8 3 11:11 ifnames -> ../Cellar/autoconf/2.69/bin/ifnames -rwxrwxr-x 1 root wheel 278092 1 12 2014 lefty -rwxrwxr-x 1 root wheel 1547 1 12 2014 lneato -rwxrwxr-x 1 root wheel 35832 1 12 2014 mm2gv lrwxr-xr-x 1 504 staff 3 8 9 2016 neato -> dot -rwxrwxr-x 1 root wheel 13640 1 12 2014 nop lrwxr-xr-x 1 username admin 36 2 28 2016 openssl -> ../Cellar/openssl/1.0.2f/bin/openssl lrwxr-xr-x 1 504 staff 3 8 9 2016 osage -> dot lrwxr-xr-x 1 504 staff 3 8 9 2016 patchwork -> dot lrwxrwxr-x 1 root admin 66 5 1 2016 pip3 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/pip3 lrwxrwxr-x 1 root admin 68 5 1 2016 pip3.5 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/pip3.5 lrwxr-xr-x 1 username admin 42 8 3 11:11 pkg-config -> ../Cellar/pkg-config/0.29.2/bin/pkg-config lrwxr-xr-x 1 root admin 68 3 12 09:45 prl_convert -> /Applications/Parallels Desktop.app/Contents/MacOS/parallels_wrapper lrwxr-xr-x 1 root admin 68 3 12 09:45 prl_disk_tool -> /Applications/Parallels Desktop.app/Contents/MacOS/parallels_wrapper lrwxr-xr-x 1 root admin 68 3 12 09:45 prl_perf_ctl -> /Applications/Parallels Desktop.app/Contents/MacOS/parallels_wrapper lrwxr-xr-x 1 root admin 62 3 12 09:45 prlcore2dmp -> /Applications/Parallels Desktop.app/Contents/MacOS/prlcore2dmp lrwxr-xr-x 1 root admin 68 3 12 09:45 prlctl -> /Applications/Parallels Desktop.app/Contents/MacOS/parallels_wrapper lrwxr-xr-x 1 root admin 58 3 12 09:45 prlexec -> /Applications/Parallels Desktop.app/Contents/MacOS/prlexec lrwxr-xr-x 1 root admin 68 3 12 09:45 prlsrvctl -> /Applications/Parallels Desktop.app/Contents/MacOS/parallels_wrapper -rwxrwxr-x 1 root wheel 18792 1 12 2014 prune lrwxr-xr-x 1 username admin 32 2 3 2016 pstree -> ../Cellar/pstree/2.39/bin/pstree lrwxr-xr-x 1 root wheel 68 5 1 2016 pydoc3 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/pydoc3 lrwxr-xr-x 1 root wheel 70 5 1 2016 pydoc3.5 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/pydoc3.5 lrwxr-xr-x 1 root wheel 69 5 1 2016 python3 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/python3 lrwxr-xr-x 1 root wheel 72 5 1 2016 python3-32 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/python3-32 lrwxr-xr-x 1 root wheel 76 5 1 2016 python3-config -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/python3-config lrwxr-xr-x 1 root wheel 71 5 1 2016 python3.5 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 lrwxr-xr-x 1 root wheel 74 5 1 2016 python3.5-32 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5-32 lrwxr-xr-x 1 root wheel 78 5 1 2016 python3.5-config -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5-config lrwxr-xr-x 1 root wheel 72 5 1 2016 python3.5m -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5m lrwxr-xr-x 1 root wheel 79 5 1 2016 python3.5m-config -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5m-config lrwxr-xr-x 1 root wheel 68 5 1 2016 pyvenv -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/pyvenv lrwxr-xr-x 1 root wheel 72 5 1 2016 pyvenv-3.5 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/pyvenv-3.5 lrwxr-xr-x 1 username admin 31 8 3 11:11 rbenv -> ../Cellar/rbenv/1.1.1/bin/rbenv lrwxr-xr-x 1 username admin 47 8 3 11:11 rbenv-install -> ../Cellar/ruby-build/20170726/bin/rbenv-install lrwxr-xr-x 1 username admin 49 8 3 11:11 rbenv-uninstall -> ../Cellar/ruby-build/20170726/bin/rbenv-uninstall lrwxr-xr-x 1 username admin 44 8 3 11:11 ruby-build -> ../Cellar/ruby-build/20170726/bin/ruby-build lrwxr-xr-x 1 root wheel 58 12 14 2015 scan -> /Library/Application Support/Avast/components/cliscan/scan -rwxrwxr-x 1 root wheel 19068 1 12 2014 sccmap lrwxr-xr-x 1 504 staff 3 8 9 2016 sfdp -> dot -rwxrwxr-x 1 root wheel 14152 1 12 2014 tred lrwxr-xr-x 1 504 staff 3 8 9 2016 twopi -> dot -rwxrwxr-x 1 root wheel 18376 1 12 2014 unflatten -rwxrwxr-x 1 root wheel 1051 1 12 2014 vimdot lrwxr-xr-x 1 username admin 32 8 6 08:36 wget -> ../Cellar/wget/1.19.1_1/bin/wget
brew link sqlite3 --force
直後を見てみる
ログを見てみる
If you need ・・・
って感じでPATHに追記しろって書いてあるけど、無視です!
> brew link sqlite3 --force Linking /usr/local/Cellar/sqlite/3.20.0... 8 symlinks created If you need to have this software first in your PATH instead consider running: echo 'export PATH="/usr/local/opt/sqlite/bin:$PATH"' >> ~/.bash_profile
Cellar
※変化無いです
> ls -la /usr/local/Cellar/ total 0 drwxr-xr-x 14 username admin 476 8 17 07:02 . drwxrwxr-x 23 username admin 782 8 12 07:33 .. drwxr-xr-x 3 username admin 102 8 3 11:11 autoconf drwxr-xr-x 4 username admin 136 8 6 08:36 gdb drwxr-xr-x 3 username admin 102 7 13 00:54 libyaml drwxr-xr-x 5 username admin 170 7 13 00:54 openssl drwxr-xr-x 3 username admin 102 8 6 08:36 openssl@1.1 drwxr-xr-x 3 username admin 102 8 3 11:11 pkg-config drwxr-xr-x 3 username admin 102 2 3 2016 pstree drwxr-xr-x 3 username admin 102 8 3 11:11 rbenv drwxr-xr-x 3 username admin 102 7 13 00:54 readline drwxr-xr-x 3 username admin 102 8 3 11:11 ruby-build drwxr-xr-x 4 username admin 136 8 18 08:58 sqlite drwxr-xr-x 4 username admin 136 8 6 08:36 wget
opt
※変化無いです
> ls -la /usr/local/opt total 128 drwxr-xr-x 18 username admin 612 8 18 10:00 . drwxrwxr-x 23 username admin 782 8 12 07:33 .. lrwxr-xr-x 1 username admin 23 8 3 11:11 autoconf -> ../Cellar/autoconf/2.69 lrwxr-xr-x 1 username admin 23 8 3 11:11 autoconf@2.69 -> ../Cellar/autoconf/2.69 lrwxr-xr-x 1 username admin 17 8 6 08:36 gdb -> ../Cellar/gdb/8.0 lrwxr-xr-x 1 username admin 23 7 13 00:54 libyaml -> ../Cellar/libyaml/0.1.7 lrwxr-xr-x 1 username admin 24 7 13 00:54 openssl -> ../Cellar/openssl/1.0.2l lrwxr-xr-x 1 username admin 24 7 13 00:54 openssl@1.0 -> ../Cellar/openssl/1.0.2l lrwxr-xr-x 1 username admin 28 8 6 08:36 openssl@1.1 -> ../Cellar/openssl@1.1/1.1.0f lrwxr-xr-x 1 username admin 27 8 3 11:11 pkg-config -> ../Cellar/pkg-config/0.29.2 lrwxr-xr-x 1 username admin 27 8 3 11:11 pkgconfig -> ../Cellar/pkg-config/0.29.2 lrwxr-xr-x 1 username admin 21 2 3 2016 pstree -> ../Cellar/pstree/2.39 lrwxr-xr-x 1 username admin 21 8 3 11:11 rbenv -> ../Cellar/rbenv/1.1.1 lrwxr-xr-x 1 username admin 26 7 13 00:54 readline -> ../Cellar/readline/7.0.3_1 lrwxr-xr-x 1 username admin 29 8 3 11:11 ruby-build -> ../Cellar/ruby-build/20170726 lrwxr-xr-x 1 username admin 23 8 18 10:00 sqlite -> ../Cellar/sqlite/3.20.0 lrwxr-xr-x 1 username admin 23 8 18 10:00 sqlite3 -> ../Cellar/sqlite/3.20.0 lrwxr-xr-x 1 username admin 23 8 6 08:36 wget -> ../Cellar/wget/1.19.1_1
bin
lrwxr-xr-x 1 username admin 35 8 18 10:00 sqlite3 -> ../Cellar/sqlite/3.20.0/bin/sqlite3
が増えている
つまりbrew link sqlite3 --force
を実行すると、ここにシンボリックリンクを作ってくれるわけです
> ls -la /usr/local/bin total 18368 drwxrwxr-x 89 username admin 3026 8 18 10:00 . drwxrwxr-x 23 username admin 782 8 12 07:33 .. lrwxr-xr-x 1 root wheel 66 5 1 2016 2to3 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/2to3 lrwxr-xr-x 1 root wheel 70 5 1 2016 2to3-3.5 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/2to3-3.5 -rwxrwxr-x 1 root wheel 13972 1 12 2014 acyclic lrwxr-xr-x 1 username admin 71 2 15 2016 apm -> /Applications/Atom.app/Contents/Resources/app/apm/node_modules/.bin/apm lrwxr-xr-x 1 username admin 53 2 15 2016 atom -> /Applications/Atom.app/Contents/Resources/app/atom.sh lrwxr-xr-x 1 username admin 36 8 3 11:11 autoconf -> ../Cellar/autoconf/2.69/bin/autoconf lrwxr-xr-x 1 username admin 38 8 3 11:11 autoheader -> ../Cellar/autoconf/2.69/bin/autoheader lrwxr-xr-x 1 username admin 36 8 3 11:11 autom4te -> ../Cellar/autoconf/2.69/bin/autom4te lrwxr-xr-x 1 username admin 38 8 3 11:11 autoreconf -> ../Cellar/autoconf/2.69/bin/autoreconf lrwxr-xr-x 1 username admin 36 8 3 11:11 autoscan -> ../Cellar/autoconf/2.69/bin/autoscan lrwxr-xr-x 1 username admin 38 8 3 11:11 autoupdate -> ../Cellar/autoconf/2.69/bin/autoupdate -rwxrwxr-x 1 root wheel 19000 1 12 2014 bcomps lrwxr-xr-x 1 username admin 28 7 13 00:52 brew -> /usr/local/Homebrew/bin/brew lrwxr-xr-x 1 username admin 37 2 28 2016 c_rehash -> ../Cellar/openssl/1.0.2f/bin/c_rehash -rwxrwxr-x 1 root wheel 23884 1 12 2014 ccomps lrwxr-xr-x 1 504 staff 3 8 9 2016 circo -> dot -rwxrwxr-x 1 root wheel 48064 1 12 2014 cluster -rwxrwxr-x 1 root wheel 18816 1 12 2014 dijkstra -rwxrwxr-x 1 root wheel 18456 1 12 2014 dot lrwxr-xr-x 1 504 staff 6 8 9 2016 dot2gxl -> gxl2gv -rwxrwxr-x 1 root wheel 40608 1 12 2014 dot_builtins -rwxrwxr-x 1 root wheel 2085 1 12 2014 dotty lrwxrwxr-x 1 root admin 78 5 1 2016 easy_install-3.5 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/easy_install-3.5 lrwxr-xr-x 1 504 staff 3 8 9 2016 fdp -> dot -rwxrwxr-x 1 root wheel 18304 1 12 2014 gc -rwxr-xr-x 1 root admin 7230128 1 29 2016 gdb -rwxrwxr-x 1 root wheel 40156 1 12 2014 gml2gv -rwxrwxr-x 1 root wheel 24108 1 12 2014 graphml2gv -rwxrwxr-x 1 root wheel 751256 1 12 2014 gv-fc-cache -rwxrwxr-x 1 root wheel 22808 1 12 2014 gv2gml lrwxr-xr-x 1 504 staff 6 8 9 2016 gv2gxl -> gxl2gv -rwxrwxr-x 1 root wheel 35304 1 12 2014 gvcolor -rwxrwxr-x 1 root wheel 26108 1 12 2014 gvgen -rwxrwxr-x 1 root wheel 288632 1 12 2014 gvmap -rwxrwxr-x 1 root wheel 2190 1 12 2014 gvmap.sh -rwxrwxr-x 1 root wheel 33220 1 12 2014 gvpack -rwxrwxr-x 1 root wheel 12736 1 12 2014 gvpr lrwxr-xr-x 1 504 staff 6 8 9 2016 gxl2dot -> gxl2gv -rwxrwxr-x 1 root wheel 41692 1 12 2014 gxl2gv lrwxr-xr-x 1 root wheel 67 5 1 2016 idle3 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/idle3 lrwxr-xr-x 1 root wheel 69 5 1 2016 idle3.5 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/idle3.5 lrwxr-xr-x 1 username admin 35 8 3 11:11 ifnames -> ../Cellar/autoconf/2.69/bin/ifnames -rwxrwxr-x 1 root wheel 278092 1 12 2014 lefty -rwxrwxr-x 1 root wheel 1547 1 12 2014 lneato -rwxrwxr-x 1 root wheel 35832 1 12 2014 mm2gv lrwxr-xr-x 1 504 staff 3 8 9 2016 neato -> dot -rwxrwxr-x 1 root wheel 13640 1 12 2014 nop lrwxr-xr-x 1 username admin 36 2 28 2016 openssl -> ../Cellar/openssl/1.0.2f/bin/openssl lrwxr-xr-x 1 504 staff 3 8 9 2016 osage -> dot lrwxr-xr-x 1 504 staff 3 8 9 2016 patchwork -> dot lrwxrwxr-x 1 root admin 66 5 1 2016 pip3 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/pip3 lrwxrwxr-x 1 root admin 68 5 1 2016 pip3.5 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/pip3.5 lrwxr-xr-x 1 username admin 42 8 3 11:11 pkg-config -> ../Cellar/pkg-config/0.29.2/bin/pkg-config lrwxr-xr-x 1 root admin 68 3 12 09:45 prl_convert -> /Applications/Parallels Desktop.app/Contents/MacOS/parallels_wrapper lrwxr-xr-x 1 root admin 68 3 12 09:45 prl_disk_tool -> /Applications/Parallels Desktop.app/Contents/MacOS/parallels_wrapper lrwxr-xr-x 1 root admin 68 3 12 09:45 prl_perf_ctl -> /Applications/Parallels Desktop.app/Contents/MacOS/parallels_wrapper lrwxr-xr-x 1 root admin 62 3 12 09:45 prlcore2dmp -> /Applications/Parallels Desktop.app/Contents/MacOS/prlcore2dmp lrwxr-xr-x 1 root admin 68 3 12 09:45 prlctl -> /Applications/Parallels Desktop.app/Contents/MacOS/parallels_wrapper lrwxr-xr-x 1 root admin 58 3 12 09:45 prlexec -> /Applications/Parallels Desktop.app/Contents/MacOS/prlexec lrwxr-xr-x 1 root admin 68 3 12 09:45 prlsrvctl -> /Applications/Parallels Desktop.app/Contents/MacOS/parallels_wrapper -rwxrwxr-x 1 root wheel 18792 1 12 2014 prune lrwxr-xr-x 1 username admin 32 2 3 2016 pstree -> ../Cellar/pstree/2.39/bin/pstree lrwxr-xr-x 1 root wheel 68 5 1 2016 pydoc3 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/pydoc3 lrwxr-xr-x 1 root wheel 70 5 1 2016 pydoc3.5 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/pydoc3.5 lrwxr-xr-x 1 root wheel 69 5 1 2016 python3 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/python3 lrwxr-xr-x 1 root wheel 72 5 1 2016 python3-32 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/python3-32 lrwxr-xr-x 1 root wheel 76 5 1 2016 python3-config -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/python3-config lrwxr-xr-x 1 root wheel 71 5 1 2016 python3.5 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 lrwxr-xr-x 1 root wheel 74 5 1 2016 python3.5-32 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5-32 lrwxr-xr-x 1 root wheel 78 5 1 2016 python3.5-config -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5-config lrwxr-xr-x 1 root wheel 72 5 1 2016 python3.5m -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5m lrwxr-xr-x 1 root wheel 79 5 1 2016 python3.5m-config -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5m-config lrwxr-xr-x 1 root wheel 68 5 1 2016 pyvenv -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/pyvenv lrwxr-xr-x 1 root wheel 72 5 1 2016 pyvenv-3.5 -> ../../../Library/Frameworks/Python.framework/Versions/3.5/bin/pyvenv-3.5 lrwxr-xr-x 1 username admin 31 8 3 11:11 rbenv -> ../Cellar/rbenv/1.1.1/bin/rbenv lrwxr-xr-x 1 username admin 47 8 3 11:11 rbenv-install -> ../Cellar/ruby-build/20170726/bin/rbenv-install lrwxr-xr-x 1 username admin 49 8 3 11:11 rbenv-uninstall -> ../Cellar/ruby-build/20170726/bin/rbenv-uninstall lrwxr-xr-x 1 username admin 44 8 3 11:11 ruby-build -> ../Cellar/ruby-build/20170726/bin/ruby-build lrwxr-xr-x 1 root wheel 58 12 14 2015 scan -> /Library/Application Support/Avast/components/cliscan/scan -rwxrwxr-x 1 root wheel 19068 1 12 2014 sccmap lrwxr-xr-x 1 504 staff 3 8 9 2016 sfdp -> dot lrwxr-xr-x 1 username admin 35 8 18 10:00 sqlite3 -> ../Cellar/sqlite/3.20.0/bin/sqlite3 -rwxrwxr-x 1 root wheel 14152 1 12 2014 tred lrwxr-xr-x 1 504 staff 3 8 9 2016 twopi -> dot -rwxrwxr-x 1 root wheel 18376 1 12 2014 unflatten -rwxrwxr-x 1 root wheel 1051 1 12 2014 vimdot lrwxr-xr-x 1 username admin 32 8 6 08:36 wget -> ../Cellar/wget/1.19.1_1/bin/wget
> which sqlite3 /usr/bin/sqlite3 > sqlite3 -version 3.8.10.2 2015-05-20 18:17:19 2ef4f3a5b1d1d0c4338f8243d40a2452cc1f7fe4 > sqlite3 --version 3.8.10.2 2015-05-20 18:17:19 2ef4f3a5b1d1d0c4338f8243d40a2452cc1f7fe4
↓
> which sqlite3 /usr/local/bin/sqlite3 > sqlite3 -version 3.20.0 2017-08-01 13:24:15 9501e22dfeebdcefa783575e47c60b514d7c2e0cad73b2a496c0bc4b680900a8
Rubyプログラミングのレッスンに興味がある方、レッスン内容を聞いてみたい方、なんなりとお問い合わせください。
無料体験レッスンもありますのでお気軽にどうぞ!!!