ソフトウェアのバージョン(Macユーザのための)

ここに必要なソフトウェアのバージョンを調べるターミナルコマンド群を一覧しておきます。
強制ではありませぬが、出来うる限り、最新バージョンになるように努力してくださいませ。
バージョンが古いと、当該中の手解き(ハンズオン)を行うことができない場合があります。

ピリオド区切りバージョン表記法(version notation separated by periods)
  〔major version〕.〔minor version〕.〔maintenance version〕
  〔メジャーバージョン〕.〔マイナーバージョン〕.〔メンテナンスバージョン〕

--- 青木淳@2026/09/22

| macos | bash | xcode | clang | make | scan-build | java | ant | python | javascript | ruby | svn | git |

------------------------------------------------------------
【Mac OS(macOS)のバージョンを調べるコマンド】↑ 参照:アップデート情報
$ # macOS 27.0 (Golden Gate) 
$ sw_vers
ProductName:         macOS
ProductVersion:      27.0
BuildVersion:        26A428

Rosetta 2 continues to be supported in macOS 27 (Golden Gate).
But Apple will end general Rosetta 2 support starting with macOS 28.
There are still many Intel-only applications in use.
Rosetta 2 enables Intel‑only applications to run on Apple Silicon Mac.

How to install Rosetta 2 into macOS 27 (Golden Gate):
$ softwareupdate --install-rosetta --agree-to-license
$ pkgutil --files com.apple.pkg.RosettaUpdateAuto
Library
Library/Apple
Library/Apple/usr
Library/Apple/usr/lib
Library/Apple/usr/lib/libRosettaAot.dylib
Library/Apple/usr/libexec
Library/Apple/usr/libexec/oah
Library/Apple/usr/libexec/oah/debugserver
Library/Apple/usr/libexec/oah/libRosettaRuntime
Library/Apple/usr/libexec/oah/runtime
Library/Apple/usr/libexec/oah/translate_tool
Library/Apple/usr/share
Library/Apple/usr/share/rosetta
Library/Apple/usr/share/rosetta/rosetta

macOS 27 (Golden Gate) 以降では、インテル・アプリケーションが動作しなくなります。
Rosetta 2(エミュレータ:IntelChip→AppleChip)が標準装備ではなくなるからです。
都合が良くない場合には、macOS 26.7 (Tahoe) を維持してください。

$ # macOS 26.7 (Tahoe)
$ sw_vers
ProductName:         macOS
ProductVersion:      26.7
BuildVersion:        25G229

macOS 10.15 (Catalina) 以降では、32bitアプリケーションなどが動作しなくなります。
都合が良くない場合には、macOS 10.14 (Mojave) を維持してください。

$ # macOS 10.14 (Mojave) 
$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.14.6
BuildVersion:   18G7016

------------------------------------------------------------
【bash(シェル:コマンドインタプリタ)のバージョンを調べるコマンド】↑
$ bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin25)
Copyright (C) 2007 Free Software Foundation, Inc.

Catalina 以降はデフォルトのシェルが bash から zsh に変わっています、ご注意を。
デファクト・スタンダート(事実上の標準)シェルとして bash を強く推します。
すべての解説は bash をベースに記されておりますので、気をつけてください。

デフォルトのシェルを切り替えるを方法を紹介しておきます。
    $ chsh -s /bin/bash   # デフォルトのシェルをbashにする
    $ chsh -s /bin/zsh    # デフォルトのシェルをzshにする

なお、bash に切り替えた際に出現して来る
default interactive shell is now zsh...のメッセージを抑制するためには、
以下の一文を、~/.bash_profile に加えるのがいいでしょう。
    export BASH_SILENCE_DEPRECATION_WARNING=1

近頃では、エディタとして Visual Studio Code を使用している方々が多いので、
~/.bash_profile を、そのエディタにかけるコマンドを紹介しておきます。

$ open -a 'Visual Studio Code' ~/.bash_profile

しっかりと~/.bash_profileの加筆修正ができるようになってください、シェルスクリプトの勉強をしながら…

------------------------------------------------------------
【Xcode(&コマンドラインツール)のバージョンを調べるコマンド】↑ 参照:Xcodeの最小要件とサポートされるSDK
It's recommended to install Rosetta 2 into macOS 27 (Golden Gate).
This will allow you to run Intel-only applications (Intel executable binaries).
However, if you install Xcode 27 as your development environment,
only the arm64 libraries will be installed.
If these are mixed with the Intel i386 (x86_64) libraries that are already installed,
during development (build: compilation and linking: making executable binary),
you are likely to encounter numerous errors.
It's safer to keep your development environment as Xcode 26 + macOS 26 (Tahoe).
$ # macOS 27.0 (Golden Gate) 
$ xcodebuild -version
Xcode 27.0
Build version 27A266a

くれぐれもユニバーサル:Universal のほうをインストールのこと。(アップルシリコン:Apple silicon ではなくて)
$ # macOS 26.7 (Tahoe)
$ xcodebuild -version
Xcode 26.6
Build version 17F113

$ # macOS 10.14 (Mojave) 
$ xcodebuild -version
Xcode 11.3.1
Build version 11C505

上記の Xcode に加えて、Command Line Tools for Xcode もインストールします。
$ open -a 'Safari' https://developer.apple.com/download/more/?=Xcode

$ # macOS 27.0 (Golden Gate) 
$ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables | grep version
version: 27.0.0.0.1788430756

$ # macOS 26.7 (Tahoe)
$ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables | grep version
version: 26.6.0.0.1781586589

$ # macOS 10.14 (Mojave) 
$ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables | grep version
version: 11.3.1.0.1.1576735732

------------------------------------------------------------

★★★これより下の項目については、すべて macOS 26.7 (Tahoe) 以降におけるバージョンのみを示します。★★★

------------------------------------------------------------
【Cコンパイラのバージョンを調べるコマンド】↑
$ cc --version
Apple clang version 21.0.0 (clang-2100.1.1.101)
Target: x86_64-apple-darwin25.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

$ gcc --version
Apple clang version 21.0.0 (clang-2100.1.1.101)
Target: x86_64-apple-darwin25.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

$ clang --version
Apple clang version 21.0.0 (clang-2100.1.1.101)
Target: x86_64-apple-darwin25.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Mac OS X(macOS)のCコンパイラは、いずれもその実体がClang(クラン)になります。
Clangは、C, C++, Objective-C, Objective-C++などのコンパイラのフロントエンドであり、
ミドルエンドとバックエンドとしてLLVM(低水準仮想マシン)を使用しています。

------------------------------------------------------------
【Cプログラムのビルドを行う make のバージョンを調べるコマンド】↑
$ make --version
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i386-apple-darwin11.3.0

------------------------------------------------------------
【Cプログラムの静的コード解析器(アナライザ)scan-build(およびscan-view)のバージョンを調べるコマンド】↑
$ scan-build --help | grep checker-
ANALYZER BUILD: checker-279 (2016-11-14 15:34:09)

おそらくインストールされていないと思われますので、
以下の「静的コード解析」のページ(学内からのみ)を参照し、インストールしてください。
$ open -a 'Safari' http://bluetree.kyoto-su.ac.jp/repositories/AP/C/StaticCodeAnalysis/index-j.html
    $ b2a open -a 'Safari' http://bluetree.kyoto-su.ac.jp/repositories/AP/C/StaticCodeAnalysis/index-j.html

------------------------------------------------------------
【Javaの仮想マシンとコンパイラのバージョンを調べるコマンド】↑
$ (export JAVA_HOME=`/usr/libexec/java_home -v "27"` ; java -version ; javac -version)
java version "27" 2026-09-15
Java(TM) SE Runtime Environment (build 27+35-2325)
Java HotSpot(TM) 64-Bit Server VM (build 27+35-2325, mixed mode, sharing)
javac 27

このバージョン以上でないと脆弱性があることが判明しています。
このバージョン未満の場合は、下記のページ(学内からのみ)を参考にしてバージョンアップしてください。
$ open -a 'Safari' http://bluetree.kyoto-su.ac.jp/repositories/AP/Java/JavaSE/index.html
    $ b2a open -a 'Safari' http://bluetree.kyoto-su.ac.jp/repositories/AP/Java/JavaSE/index.html

この「27」とLTS(Long Term Support)版の「25」と「21」と「17」と「11」と「8」において、
サードパーティ製Javaライブラリなどが揃っていない場合もあります。
それゆえ、当分の間は「27」と「25」と「21」と「17」と「11」と「8」の併用でゆきます。

$ (export JAVA_HOME=`/usr/libexec/java_home -v "25"` ; java -version ; javac -version)
java version "25.0.4.1" 2026-08-18 LTS
Java(TM) SE Runtime Environment (build 25.0.4.1+1-LTS-5)
Java HotSpot(TM) 64-Bit Server VM (build 25.0.4.1+1-LTS-5, mixed mode, sharing)
javac 25.0.4.1

$ (export JAVA_HOME=`/usr/libexec/java_home -v "21"` ; java -version ; javac -version)
java version "21.0.12.1" 2026-08-18 LTS
Java(TM) SE Runtime Environment (build 21.0.12.1+1-LTS-4)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.12.1+1-LTS-4, mixed mode, sharing)
javac 21.0.12.1

$ (export JAVA_HOME=`/usr/libexec/java_home -v "17"` ; java -version ; javac -version)
java version "17.0.20.1" 2026-08-18 LTS
Java(TM) SE Runtime Environment (build 17.0.20.1+1-LTS-4)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.20.1+1-LTS-4, mixed mode, sharing)
javac 17.0.20.1

$ (export JAVA_HOME=`/usr/libexec/java_home -v "11"` ; java -version ; javac -version)
java version "11.0.32.1" 2026-08-18 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.32.1+1-LTS-5)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.32.1+1-LTS-5, mixed mode)
javac 11.0.32.1

$ (export JAVA_HOME=`/usr/libexec/java_home -v "1.8"` ; java -version ; javac -version)
    $ sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
    $ sudo rm -fr /Library/PreferencesPanes/JavaControlPanel.prefPane
    $ sudo rm -fr ~/Library/Application\ Support/Oracle/Java
java version "1.8.0_503"
Java(TM) SE Runtime Environment (build 1.8.0_503-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.503-b01, mixed mode)
javac 1.8.0_503

------------------------------------------------------------
【Javaプログラムのビルドを行うantのバージョンを調べるコマンド】↑
$ ant -version
Apache Ant(TM) version 1.10.18 compiled on September 3 2026

おそらくインストールされていないと思われますので、
以下の「Apache Ant」のページ(学内からのみ)を参照し、インストールしてください。
$ open -a 'Safari' http://bluetree.kyoto-su.ac.jp/repositories/AP/Java/ApacheAnt/index.html
    $ b2a open -a 'Safari' http://bluetree.kyoto-su.ac.jp/repositories/AP/Java/ApacheAnt/index.html

------------------------------------------------------------
【Java/JavaScriptおよびC/C++プログラムの整形器(フォーマッタ)clang-formatのバージョンを調べるコマンド】↑
$ clang-format -version
clang-format version 4.0.0 (tags/checker/checker-279)

おそらくインストールされていないと思われますので、
以下の「静的コード解析」のページ(学内からのみ)を参照し、インストールしてください。
$ open -a 'Safari' http://bluetree.kyoto-su.ac.jp/repositories/AP/C/StaticCodeAnalysis/index-j.html
    $ b2a open -a 'Safari' http://bluetree.kyoto-su.ac.jp/repositories/AP/C/StaticCodeAnalysis/index-j.html
フォーマッタclang-formatは、静的コード解析 Clang Static Analyzer に付属してきます。
$ open -a 'Safari' http://bluetree.kyoto-su.ac.jp/repositories/AP/C/ProgramFormatter/index-j.html
    $ b2a open -a 'Safari' http://bluetree.kyoto-su.ac.jp/repositories/AP/C/ProgramFormatter/index-j.html

------------------------------------------------------------
【Python処理系のバージョンを調べるコマンド】↑ 参照:Status of Python versions
$ /usr/bin/python3 --version
Python 3.9.6

Python2系とPython3系を共存させ、併用し(切り替えて使い)たい場合には、以下のページ(学内からのみ)を参照してください。
$ open -a 'Safari' http://bluetree.kyoto-su.ac.jp/repositories/AP/Python/3/Python3and2/index-j.html
    $ b2a open -a 'Safari' http://bluetree.kyoto-su.ac.jp/repositories/AP/Python/3/Python3and2/index-j.html

$ pyenv --version
pyenv 2.8.6-2-g249f8d88

$ python --version
Python 3.14.7

Pythonの2系および3系の安定バージョンを示しておきます。
$ pyenv versions
* system (set by ~/.pyenv/version)
  2.7.18
  3.10.21
  3.11.16
  3.12.14
  3.13.15
  3.14.7

以下にインストール候補たちをリストしておきます。
$ pyenv install --list | grep -E '^\ *3.14.[0-9]*$'
  3.14.0
  3.14.1
  3.14.2
  3.14.3
  3.14.4
  3.14.5
  3.14.6
  3.14.7

$ pyenv install --list | grep -E '^\ *3.13.[0-9]*$'
  3.13.0
  3.13.1
  3.13.2
  3.13.3
  3.13.4
  3.13.5
  3.13.6
  3.13.7
  3.13.8
  3.13.9
  3.13.10
  3.13.11
  3.13.12
  3.13.13
  3.13.14
  3.13.15

$ pyenv install --list | grep -E '^\ *3.12.[0-9]*$'
  3.12.0
  3.12.1
  3.12.2
  3.12.3
  3.12.4
  3.12.5
  3.12.6
  3.12.7
  3.12.8
  3.12.9
  3.12.10
  3.12.11
  3.12.12
  3.12.13
  3.12.14

$ pyenv install --list | grep -E '^\ *3.11.[0-9]*$'
  3.11.0
  3.11.1
  3.11.2
  3.11.3
  3.11.4
  3.11.5
  3.11.6
  3.11.7
  3.11.8
  3.11.9
  3.11.10
  3.11.11
  3.11.12
  3.11.13
  3.11.14
  3.11.15
  3.11.16

$ pyenv install --list | grep -E '^\ *3.10.[0-9]*$'
  3.10.0
  3.10.1
  3.10.2
  3.10.3
  3.10.4
  3.10.5
  3.10.6
  3.10.7
  3.10.8
  3.10.9
  3.10.10
  3.10.11
  3.10.12
  3.10.13
  3.10.14
  3.10.15
  3.10.16
  3.10.17
  3.10.18
  3.10.19
  3.10.20
  3.10.21

$ pyenv install --list | grep -E '^\ *2.7.[0-9]*$'
  2.7.0
  2.7.1
  2.7.2
  2.7.3
  2.7.4
  2.7.5
  2.7.6
  2.7.7
  2.7.8
  2.7.9
  2.7.10
  2.7.11
  2.7.12
  2.7.13
  2.7.14
  2.7.15
  2.7.16
  2.7.17
  2.7.18

参考:pyenv_install_python.txt

------------------------------------------------------------
【JavaScript処理系のバージョンを調べるコマンド】↑
$ jsc -e 'let v = version(); print(v);    // Currently does nothing. It will return undefined.'
undefined

JSC や Node.js などのJavaScript 環境を整えたい場合には、以下のページ(学内からのみ)を参照してください。
$ open -a 'Safari' http://bluetree.kyoto-su.ac.jp/repositories/AP/JavaScript/NodeVersionManager/index.html
    $ b2a open -a 'Safari' http://bluetree.kyoto-su.ac.jp/repositories/AP/JavaScript/NodeVersionManager/index.html

$ nvm --version
0.39.1

$ node --version
v16.16.0

$ nvm ls
->     v16.16.0
default -> node (-> v16.16.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v16.16.0) (default)
stable -> 14.15 (-> v16.16.0) (default)
lts/∗ -> lts/gallium (-> v16.16.0)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.20.0 (-> N/A)
lts/gallium -> v16.16.0

JavaScript(Node.js)の最新LTSバージョンを示しておきます。
$ nvm ls-remote | grep -E 'Latest LTS'
         v4.9.1   (Latest LTS: Argon)
        v6.17.1   (Latest LTS: Boron)
        v8.17.0   (Latest LTS: Carbon)
       v10.24.1   (Latest LTS: Dubnium)
      v12.22.12   (Latest LTS: Erbium)
       v14.20.0   (Latest LTS: Fermium)
->     v16.16.0   (Latest LTS: Gallium)

------------------------------------------------------------
【Ruby処理系のバージョンを調べるコマンド】↑
$ ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin20]

各種アプリケーションの Ruby 環境を整えたい場合には、以下のページ(学内からのみ)を参照してください。
$ open -a 'Safari' http://bluetree.kyoto-su.ac.jp/repositories/AP/Ruby/RubyVersionControl/index-j.html
    $ b2a open -a 'Safari' http://bluetree.kyoto-su.ac.jp/repositories/AP/Ruby/RubyVersionControl/index-j.html

$ rbenv --version
rbenv 1.2.0-16-gc4395e5

$ ruby --version
ruby 3.0.4p208 (2022-04-12 revision 3fa771dded) [x86_64-darwin21]

Ruby の安定バージョンを示しておきます。
$ rbenv versions
* system (set by ~/.rbenv/version)
  2.7.6
  3.0.4
  3.1.2

以下にインストール候補たちをリストしておきます。
$ rbenv install --list-all | grep -E '^\ *2.7.[0-9]*$'
2.7.0
2.7.1
2.7.2
2.7.3
2.7.4
2.7.5
2.7.6

$ rbenv install --list-all | grep -E '^\ *3.0.[0-9]*$'
3.0.0
3.0.1
3.0.2
3.0.3
3.0.4

$ rbenv install --list-all | grep -E '^\ *3.1.[0-9]*$'
3.1.0
3.1.1
3.1.2

------------------------------------------------------------
【集中型のソフトウェア構成管理(SCM:リポジトリ)であるSubversionのバージョンを調べるコマンド】↑
$ svn --version
svn, version 1.10.4 (r1850624)
   compiled Dec 13 2019, 19:47:45 on x86_64-apple-darwin18.0.0

Copyright (C) 2019 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

The following repository access (RA) modules are available:

* ra_svn : Module for accessing a repository using the svn network protocol.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
  - using serf 1.3.9 (compiled with 1.3.9)
  - handles 'http' scheme
  - handles 'https' scheme

The following authentication credential caches are available:

* Plaintext cache in ~/.subversion
* GPG-Agent
* Mac OS X Keychain

なお、Xcode 12 からは、Xcode 本体にも、Command Line Tools にも、Subversion が同包されなくなりました。
LTS 版の Subversion(1.10.6)を設えたい場合には、以下のページ(学内からのみ)を参照してください。
$ open -a 'Safari' http://bluetree.kyoto-su.ac.jp/repositories/AP/Subversion/index.html
    $ b2a open -a 'Safari' http://bluetree.kyoto-su.ac.jp/repositories/AP/Subversion/index.html

$ which -a svn | xargs -n 1 -I {} sh -cx '{} --version | head -n 2'
+ /usr/local/subversion/bin/svn --version
+ head -n 2
svn, version 1.10.6 (r1863367)
   compiled Jul 26 2020, 17:05:56 on x86_64-apple-darwin18.7.0
+ /opt/subversion/bin/svn --version
+ head -n 2
svn, version 1.10.6 (r1863367)
   compiled Aug 20 2019, 12:18:38 on x86_64-apple-darwin18.2.0
+ /usr/bin/svn --version
+ head -n 2
svn, version 1.10.4 (r1850624)
   compiled Dec 13 2019, 19:47:45 on x86_64-apple-darwin18.0.0

------------------------------------------------------------
【分散型のソフトウェア構成管理(SCM:リポジトリ)であるGit(ギット)のバージョンを調べるコマンド】↑
$ git --version
git version 2.50.1 (Apple Git-155)

------------------------------------------------------------
以上になります。

$ hash -r ; バージョンを確かめるコマンド

ここで(お釈迦さんに対して説法する…:蛇足かもしれませぬが…)、バージョンを確かめるコマンドを実行する直前に、hashコマンドに-rオプションをつけて実行することを説明しておきましょう。以降の文章を読む際に、どうかbashとhashを(bとhを)混同しないように注意してください。コマンドインタプリタbashには、すでに実行したことがあるコマンドの実行ファイル(たとえば、lsという名ならば、/bin/lsという実体:ファイルポインタ)を覚えておくハッシュ辞書(キャッシュテーブル)があります。実行を要請されたコマンド名をたよりに、毎回毎回いちいちコマンドサーチパス(これは「echo $PATH」で確認できます)を引いて、コマンドの実行ファイルを見つけ出しているのではないのです。

1回目の実行で判明したコマンドの実行ファイルを、コマンド名と実行ファイルのペアにしてキャッシュテーブルに記憶しておきます。そして、2回目以降では、まずコマンド名でキャッシュテーブルを引き、見つかれば記憶しておいた実行ファイルをすぐに実行します。見つからないときに限り、コマンドサーチパスを探します。つまり、bashにはコマンドを高速に見つけ出して実行する仕組み(メカニズム)が組み込まれているのです。組み込みコマンドhashに-rオプションをつけて実行すると、当該のキャッシュテーブルをチャラに(クリア)してくれます。すなわち、必ずコマンドサーチパスを引いて、最新の実行ファイルを見つけ出すことを強制します。

バージョンアップしたときは、下図に示すように、以前の実行ファイル(old)と最新の実行ファイル(new)の2つがあるわけで、bashのキャッシュテーブルには以前の実行ファイルが記憶されており、コマンドサーチパスを引けば最新の実行ファイルが見つかる、という状況は困るわけですよね。ですから、バージョンを確かめる直前に、bashのキャッシュテーブルをhash -rでチャラすることは、とても理にかなっていますでしょ。

CacheTable

ちなみに、キャッシュテーブルはbash毎に用意されますので、新しいターミナルのウィンドウを開ければ、新たなbashが動き出し、当該のキャッシュテーブルは空の状態であり、必ずコマンドサーチパスを引きます。ゆえに、バージョンアップの際に、別のターミナルを開いて、バージョンを確かめることも、たいへん理にかなっていますよね。


Updated: 2026/09/22 (Created: 2008/04/20) KSU AokiHanko