SwiftLintの記事はシリーズになっています。
記事を順番に読み進めると、SwiftLintを使いこなせるようになります。
- Swiftの静的解析ツール「SwiftLint」のセットアップ方法
- SwiftLintの全ルール一覧(Swift 4.2版)
- SwiftLintで追加・変更・廃止されたルールまとめ(Swift 4.2→5.1.2版)
- SwiftLintで追加・廃止されたルールまとめ(Swift 5.1.2→5.3.1版)
- SwiftLintのオレオレカスタムルール一覧
- SwiftLintのAnalyzeを使って高度な解析をする方法
- SwiftLintの設定ファイルをサーバーに配置して共有する方法
- SwiftLintの「Currently running SwiftLint x.y.z but configuration specified version a.b.c.」エラーの解決法 ←イマココ
はじめに
SwiftLintで以下のエラーが発生して困ったことはありませんか?
私は何回もあります。
Currently running SwiftLint 0.53.0 but configuration specified version 0.47.1.
本記事ではこのエラーの解決法を紹介します。
環境
- OS: macOS Sonoma 14.2.1 (23C71)
- Swift: 5.9.2
エラーの解決法
./LokiPackage
に Package.swift
が存在するとします。
SwiftPMを使っている場合、パッケージがリントの対象になっている可能性があります。
rm -r ./LokiPackage/.build
を実行してエラーが解消されたらパッケージが悪さをしています。
.build
フォルダをリントの対象外にすることで、エラーが発生しなくなります。
.swiftlint.yml
excluded:
+ - LokiPackage/.build
私はなぜか LokiPackage/Sources/.build
と指定していたので修正しました。
元から誤って指定していたか、どこかのタイミングで .build
のパスが変更されたかはわかりません。
おわりに
これで長年困っていたSwiftLintのエラーの原因と解決法がわかりました。
もしSwiftPMを使わずにこのエラーが発生する場合も同じ原因の可能性が高く、SwiftLintの included:
と excluded:
の設定を見直してみましょう。