swift - 将 swiftLint 添加到项目后运行 pod install 时出错

标签 swift xcode cocoapods swiftlint

长话短说

我正在尝试使用 cocoapods 将 SwiftLint 添加到我的项目中,但是在添加运行脚本之后,我无法执行 pod installpod update 没有错误。

每次执行 pod install 时都会出现错误

/Library/Ruby/Gems/2.3.0/gems/gh_inspector-1.1.2/lib/gh_inspector/sidekick.rb:67:in `url_for_request': uninitialized constant GhInspector::Sidekick::ERB (NameError)
    from /Library/Ruby/Gems/2.3.0/gems/gh_inspector-1.1.2/lib/gh_inspector/sidekick.rb:24:in `search'
    from /Library/Ruby/Gems/2.3.0/gems/gh_inspector-1.1.2/lib/gh_inspector/inspector.rb:65:in `search_query'
    from /Library/Ruby/Gems/2.3.0/gems/gh_inspector-1.1.2/lib/gh_inspector/inspector.rb:59:in `search_exception'
    from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.3/lib/cocoapods/user_interface/error_report.rb:119:in `search_for_exceptions'
    from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.3/lib/cocoapods/command.rb:67:in `report_error'
    from /Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:396:in `handle_exception'
    from /Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:337:in `rescue in run'
    from /Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:324:in `run'
    from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.3/lib/cocoapods/command.rb:52:in `run'
    from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.5.3/bin/pod:55:in `<top (required)>'
    from /usr/local/bin/pod:22:in `load'
    from /usr/local/bin/pod:22:in `<main>'

现在完整描述

从开始使用 SwiftLint 的过程开始,我将它添加到我的 podfile

platform :ios, '10.0'

use_frameworks!

target 'ProjectName' do

pod 'Realm'
pod 'RealmSwift'
pod 'Fabric'
pod 'Crashlytics'
pod 'Firebase'
pod 'Firebase/Core'
pod 'Firebase/AdMob'
pod 'SwiftLint'

end

然后我安装我的 pod 没有任何错误。

在此之后,我添加了 .swiftlint.yml 文件:

disabled_rules: # rule identifiers to exclude from running
 - trailing_whitespace

excluded: # paths to ignore during linting. Takes precedence over `included`.
 - Pods

在这一点上,我仍然能够像魅力一样执行 pod installpod update,但是 SwiftLint 配置仍然缺少最后一步才能工作。

添加运行脚本后

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

SwiftLint 开始工作,但是,正如我在问题开头所说的,我无法运行 pod installpod update

版本数据

ruby 版本: ruby 2.5.1p57(2018-03-29 修订版 63029)[x86_64-darwin18]

cocoapods 版本: 1.5.3

SwiftLint 版本: 0.27.0

知道如何解决这个错误吗?

最佳答案

您的环境似乎还不错。 您是否创建了另一个运行脚本? 将 swiftlint 脚本放在已经存在的运行脚本上,或者为您创建的每个“运行脚本”指定一个不同的名称。

关于swift - 将 swiftLint 添加到项目后运行 pod install 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52519940/

相关文章:

ios - 如何使用 cocoapods 导入 Charts.xcodeproj?

swift - 如何创建可变字符串数组

ios - 为什么游戏逻辑更喜欢 update() 而不是 didFinishUpdate?

ios - 如何使用 Xcode Storyboard 保持导入图像的原始尺寸?

swift - segue 数据传输不起作用。未显示每个角色拥有的详细数据

ios - 使用 Cocoapods 和 AFNetworking 构建错误

swift - NSAppleEventManager.shared().setEventHandler 窃取焦点

swift - Flutter:Cocoapods 'Pods-Runner' 目标具有传递依赖项,包括静态二进制文件:Flutter.framework

ios - Xcode 4.5 : How do I fix my text views so they display properly in portrait and landscape mode on an iPad?

ios - 无法找到 `Firebase` 的规范