iOS SwiftLint 安装报错 Loading sourcekitd.framework 和 SwiftLint not installed

前言:

公司的代码用的Swift写的。对于代码格式有着一定的要求。提了代码Pull Request之后,Code Review报了一堆警告。所以让本地安装一个SwiftLint。

然而并没有这么顺利。安装的时候报错了。

报错1:SourceKittenFramework/library_wrapper.swift:31: Fatal error: Loading sourcekitd.framework/Versions/A/sourcekitd failed

这是我命令行运行 swiftlint analyze 的时候出现的。此时我已经使用 homebrew 安装了 SwiftLint,并且也是升级到了最新版本。无论怎么切换到项目目录,或者在根目录,都不行,这个错误和 .swiftlint.yml 这个文件无关。

报错1截图.png

解:
在命令行输入

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

理由看这里:
fatal error: Loading sourcekitd.framework/Versions/A/sourcekitd failed #1466

解决1.png

报错2:Showing All Messages SwiftLint not installed, download from https://github.com/realm/SwiftLint

这句话其实来源于你从网上复制粘贴过来的脚本:

if swiftlint >/dev/null; then
  swiftlint
else
  echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
fi

然后它会这样出现在你的编译log里面:


报错2截图.jpeg

会发现这个东西,是因为,在我在解决了报错1之后,继续在命名行里运行 swiftlint analyze,这次虽然没有报和上次一样的错,但是多了一堆输出,然后我打开Xcode工程,发现并没有和预期的一样给我检查代码的语法规范。就很不理解。去编译log里面看,才发现是脚本这玩意输出,说我没装 SwiftLint,混蛋,我明明装了。

解:
把Xcode里的脚本换成这个:

alias swiftlint="/opt/homebrew/bin/swiftlint"

if swiftlint >/dev/null; then
  swiftlint
else
  echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
fi
解决2.jpeg

理由看这里:
How to fix the "SwiftLint not installed" warning on M1 Macs

好家伙,又是这个M1芯片,怎么最近的bug都是和M1有关???我手里拿的这个新电脑,最近装各种开发工具都碰到一堆坑,以前根本没有。

把脚本替换之后,Command + B,SwiftLint就能给你报一堆警告了。

结语

这两个报错,用百度去搜,怎么都搜不到解决方案。搜到的都是一堆如何安装的教程。这两个问题的解决方案都是用谷歌搜索找到的。你要说,~~作为一个稍微有点年头的程序猿~~,这么点报错都修不了吗?抱歉,我真的修不了,真不会...

你可能感兴趣的:(iOS SwiftLint 安装报错 Loading sourcekitd.framework 和 SwiftLint not installed)