macOS で、各種開発関連ツールのバージョンを確認する方法をまとめました。
「macOS のバージョンを確認して」「〇〇のバージョンも確認して」と別々に確認する際に、ツールごとに都度別々の方法で確認方法を調べるのが苦しくなってきたので。シェルにして実行すれば、一発でいろいろ確認できます。
免責
私もインストールしていないものがあるので、動作確認とれていないものもあります。
まとめシェル
開発者が使いそうなツール群のバージョン確認コマンドを集めました。もちろんデフォルトではインストールされていないものもありますから、そういったものは表示されません。
行を増やしていこうと思えばキリがないので、適宜削除してお使いください。また、複数行出力されるコマンドは不要な行もあるでしょうから、お好みで grep してください。
また中には、出力内容に__ローカルパスが含まれるものもあります__ので、出力内容を誰かに共有する場合などはご注意ください。
#!/bin/zsh
# https://qiita.com/Tachy_Pochy/items/d5d4bf82f4e00eea1fd4
# macOS
sw_vers
# このシェルを作成した時の結果
# ProductName: Mac OS X
# ProductVersion: 10.15.7
# BuildVersion: 19H1323
# gcc
echo -n "gcc version: "; gcc -dumpversion
# Xcode
xcodebuild -version
# Git
git --version
# Homebrew
brew --version
# MacPorts
port version
port installed
# Docker
docker version
# Vagrant
vagrant version
# Node.js
node -v
echo -n "npm version: "; npm -version
npm list --depth=0 -g
# Python
python --version
python3 -VV
pip3 list
# Swift
swift --version
# AppleScript
echo -n "AppleScript version: "; osascript -e 'version of AppleScript'
# PHP、Pear および composer
php -v
pear list
composer --version
composer show -i
# Ruby
ruby -v
gem list
# JAVA 、JDK および JAVA_HOME
java --version
javac --version
echo -n "JAVA_HOME="
/usr/libexec/java_home
set | grep LANG
# Perl
perl --version | grep version
# シェル
sh --version
zsh --version
tcsh --version
# Apache
httpd -v
# Nginx
nginx -V
# SQLite
echo -n "SQLite3 version: "
sqlite3 -version
# curl
curl --version
# PlantUML
java -jar plantuml.jar -version| grep PlantUML\ version
# Graphviz (dot)
dot -V
# Visual Studio Code
echo -n "Visual Studio Code version: "
code -v
code --list-extensions --show-versions
# CotEditor
echo -n "CotEditor version: "
cot -v
# Go
echo -n "Golang version: "
go version
その他
Xcode にバンドルしている他のアプリケーションのバージョン確認
echo -n "Accessibility Inspector.app version: "
defaults read /Applications/Xcode.app/Contents/Applications/Accessibility\ Inspector.app/Contents/version.plist CFBundleShortVersionString
echo -n "Create ML.app version: "
defaults read /Applications/Xcode.app/Contents/Applications/Create\ ML.app/Contents/version.plist CFBundleShortVersionString
echo -n "FileMerge.app version: "
defaults read /Applications/Xcode.app/Contents/Applications/FileMerge.app/Contents/version.plist CFBundleShortVersionString
echo -n "Instruments.app version: "
defaults read /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/version.plist CFBundleShortVersionString
echo -n "Reality Composer.app version: "
defaults read /Applications/Xcode.app/Contents/Applications/RealityComposer.app/Contents/version.plist CFBundleShortVersionString
AppleScript の別の方法
echo -n "AppleScript version: "
defaults read /System/Library/Components/AppleScript.component/Contents/version.plist CFBundleShortVersionString
Ruby の別の方法
gem environment
PHP の別の方法
より詳しく知る。Apache のモジュールなんかも出力される。
php -i
ローカルパスや環境変数がたくさん含まれるので注意。
Perl の別の方法
より詳しく知る。
perl -V
Tomcat
インストールしたことがないので詳しくないのですが、version.sh
というシェルがあるようです。
シェルの場所は $CATALINA_HOME/bin
だと思います。
echo $CATALINA_HOME
DB 系
DB 系で重要なのはクライアントのバージョンではなく、サーバのバージョンだと思うので、上記のシェルには含めませんでした。
お使いの環境に合わせて、下記の1行で実行するコマンドを作成してシェルに加えてください。
また、シェルの中にパスワードを記述しないようにしましよう。
MySQL の別の方法
未確認です。
mysql -e "SELECT VERSION();"
もっと未確認です。
mysql -e "status;"
接続情報込み。
mysql -u=<user_name> -h=<host_name> -p -e "SELECT VERSION();"
パスワード入力を省略する方法。
MySQLで幸せになれるヤツの続き-パスワードを隠蔽する方法 - なからなLife
PostgreSQL の別の方法
未確認です。
psql -c "SELECT version();"
接続情報込み。
psql -U <user_name> -d <db_name> -p <port> -c "SELECT version();"
パスワード入力を省略する方法。
psqlでログインするときのパスワード入力を省略する - Qiita
でも上記方法は平文で保存されるので、抵抗がありますね。
Oracle の確認方法
これもインストールしたことがなく、ちょっと自信ありませんが。
echo "SELECT * FROM v$version;" | sqlplus / as sysdba
接続情報込み。
echo "SELECT * FROM v$version;" | sqlplus <user_name>@<host>:<listener_port>/<service_name>