无法使用 Homebrew 安装 apple swift-format

Rpj*_*Rpj 5 homebrew

无法运行 apple swift-format,因为它失败并出现以下错误:

brew install swift-format
swift-format 
dyld[20113]: Library not loaded: @rpath/lib_InternalSwiftSyntaxParser.dylib
  Referenced from: /usr/local/Cellar/swift-format/0.50600.1/bin/swift-format
  Reason: tried: '/usr/lib/swift/lib_InternalSwiftSyntaxParser.dylib' (no such file), '/usr/local/Cellar/swift-format/0.50600.1/bin/lib_InternalSwiftSyntaxParser.dylib' (no such file), '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx/lib_InternalSwiftSyntaxParser.dylib' (no such file), '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.5/macosx/lib_InternalSwiftSyntaxParser.dylib' (no such file), '/usr/lib/swift/lib_InternalSwiftSyntaxParser.dylib' (no such file), '/usr/local/Cellar/swift-format/0.50600.1/bin/lib_InternalSwiftSyntaxParser.dylib' (no such file), '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx/lib_InternalSwiftSyntaxParser.dylib' (no such file), '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.5/macosx/lib_InternalSwiftSyntaxParser.dylib' (no such file), '/usr/local/lib/lib_InternalSwiftSyntaxParser.dylib' (no such file), '/usr/lib/lib_InternalSwiftSyntaxParser.dylib' (no such file)
Abort trap: 6
Run Code Online (Sandbox Code Playgroud)

Doe*_*ata 2

我有类似的问题。我运行的是 OSX 13.3 (Ventura) 和 Xcode 14.2。swift-format和你一样,我也通过 Homebrew安装。

在这种情况下,该错误实际上非常有帮助

Library not loaded: @rpath/lib_InternalSwiftSyntaxParser.dylib /usr/local/Cellar/swift-format/0.50600.1/bin/lib_InternalSwiftSyntaxParser.dylib
Run Code Online (Sandbox Code Playgroud)

bin 文件夹中缺少该可执行文件。为了解决这个问题,您应该:

  1. 下载Swift 格式。您可以使用最新的或与安装的 Homebrew 版本匹配的版本。
  2. 在下载的 swift 格式文件夹中打开终端窗口。
  3. 运行swift build -c release它将编译 swift 格式并创建可执行文件。
  4. 复制 swift 格式的可执行文件./build/release/swift-format(默认情况下构建文件夹是隐藏的,但构建后它将出现在下载的目录中)。
  5. 将 swift 格式的可执行文件粘贴到/usr/local/Cellar/swift-format/0.50600.1/bin/(您将替换现有的)
  6. 复制lib_InternalSwiftSyntaxParser.dylib./build/release/
  7. 粘贴lib_InternalSwiftSyntaxParser.dylib/usr/local/Cellar/swift-format/0.50600.1/bin/

注意- 您可以直接在 Finder 中访问/usr/local/opt/homebrew通过访问硬盘驱动器。

注意- 这适用于任何版本,您只需更改自制程序位置/usr/local/Cellar/swift-format/MY_VERSION_HERE/bin/

可能有一种“更简单”的方法来解决这个问题,但是如果您将丢失的文件复制到 swift 格式检查的路径之一(并且库版本和 swift 格式版本匹配),这将起作用。