carton-driver が実行された時に、 PATH から見える swift を基準にしてもいい気がするけど#if compiler(>=6.0) #error("6.0") #elseif compiler(>=5.10) #error("5.10") #elseif compiler(>=5.9) #error("5.9") #endif これで、目の前の $ swift のバージョンを判定するのはうまくいきそうだった ( $ swift --version をパースするのはちょっと怪しさがある気がしている ) (edited)$ swift は原則一つなのでexport TOOLCHAINS で切り替えた時に carton-driver はそのまんま同じマシンインストール版を使っていてもうまく切り替わるみたいな事か