macOS CatalinaでSwiftLintを利用しようとした際にエラーが出て、対処しようとしたもののエラーメッセージが分かりにくくて時間がかかってしまったので、メモしておく
環境
- macOS 10.15.1
- シェル: zsh (デフォルト)
- Xcode 11.3
結論
xcode-select
でXcodeアプリに含まれるデベロッパーツールを選択していなかったことが原因であった
詳細
XcodeとSwiftLintをインストールした後でLintコマンドを実行すると、以下のようなエラーが吐かれていた
% swiftlint
Fatal error: Loading sourcekitd.framework/Versions/A/sourcekitd failed: file /private/tmp/swiftlint-20191203-72607-1br7cj0/.build/checkouts/SourceKitten/Source/SourceKittenFramework/library_wrapper.swift, line 39
zsh: illegal hardware instruction swiftlint
xcode-select
で利用するデベロッパーツールのディレクトリを確認すると、以下のようになっていた
% xcode-select -p
/Library/Developer/CommandLineTools
上記にはSwiftの解析ツール等が含まれていないため、SwiftLintがエラーを吐いて停止していた模様
以下のようにXcode.app
の中のデベロッパーツールを選択することで、SwiftLintが正常に実行されるようになった
% sudo xcode-select -s /Applications/Xcode_11.3.app/Contents/Developer