SQLite3 v3.6がプリインストールされているOS X 10.6.8を実行しているMacがあります。 homebrewを使用してv3.8をインストールしました。ただし、端末に「sqlite3」と入力すると、以前にインストールされた以前のバージョンは引き続き実行されます。助けが必要ですか?
PATH変数がこれに関連しているかどうかはわかりませんが、echo $PATHを実行すると、次のようになります。/usr/local/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/ :/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
SQLite3の新しいバージョンは次のディレクトリにあります。/usr/local/Cellar/sqlite
また、バイナリ実行可能ファイルをデスクトップにダウンロードしましたが、デスクトップでクリックすると機能しますが、端末では機能しないことを追加する必要があります。
助けてくれてありがとう。
答え1
slmのソリューションは実際には正しくありません(動作しますが)。 Homebrewを使用するときは$ PATHに追加しないでください。代わりに $PATH (既に行った操作) に/usr/local/Cellar/*
追加し、 Cellar の項目を .意図的にHomebrewを使用すると、これを簡単に実行できます。/usr/local/bin
/usr/local/bin
brew link sqlite
必要なリンクが自動的に作成されます。 (今回はHomebrewはこれを自動的には実行しません。sqliteはkegのみなので手動で行う必要があります。)
注/通知として/usr/local/bin
システムパスに追加しないでください。ユーザーパスにのみ追加する必要があります。これは、Appleが提供するsqliteを必要とするプログラムがHomebrewが提供するバージョンを見つけて問題を引き起こすのを防ぐためです。
答え2
$パス
PATH
はい、次のように変数を設定する必要があります。
$ export PATH=/usr/local/Cellar/sqlite:/usr/local/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
その行は読み取りが少し難しいことがあるため、ここでは各パスが独自の行にあるコロンで区切られています。
$ awk -v addPath="$1" 'BEGIN{RS=":";ORS=addPath "\n"}{$1=$1}1' <<< $PATH
/usr/local/Cellar/sqlite
/usr/local/bin
/Library/Frameworks/Python.framework/Versions/2.7/bin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
/usr/X11/bin
これは、シェルがプロンプトに入力したばかりの内容を検索する$PATH
ディレクトリのリストです - コロン()で区切られます。:
順序が重要であるため、sqlite
複数の場所に表示される場合、最初に見つかったディレクトリはそのディレクトリが使用された場所です。
そのものはどこにありますか?
このtype
コマンドを使用して、特定のアプリケーションがどこから来たのかを確認できます。
はい
$ type -a sqlite3
sqlite3 is /usr/bin/sqlite3
これがスイッチで使用される方法であり、-a
すべての項目を表示します。
$ type -a ls
ls is aliased to `ls --color=auto'
ls is /bin/ls