Грешка при стартиране на инсталиране на pod след добавяне на swiftLint към проекта

Дълга история накратко

Опитвам се да добавя SwiftLint в моя проект с помощта на cocoapods, но след като добавя скрипта за изпълнение, не мога да изпълня pod install и pod 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, добавям го към моя подфайл

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

След това инсталирам моите подове без грешка.

След това добавям файла .swiftlint.yml с:

disabled_rules: # rule identifiers to exclude from running
 - trailing_whitespace

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

На този етап все още мога да изпълнявам pod install и pod 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 install и pod update

Данни за версии

ruby версия: ruby ​​2.5.1p57 (2018-03-29 ревизия 63029) [x86_64-darwin18]

версия на cocoapods: 1.5.3

Версия на SwiftLint: 0.27.0

Някаква идея как мога да разреша тази грешка?


person FilipeFaria    schedule 26.09.2018    source източник
comment
Вероятно инсталирате най-новата версия, която се нуждае от по-висока ruby ​​версия, която имате. Можете ли да предоставите вашата версия за ruby, cocoapods, swiftlint   -  person Scriptable    schedule 26.09.2018
comment
Добавих версиите на въпроса, сега ще проверя съвместимостта. Благодаря!   -  person FilipeFaria    schedule 26.09.2018


Отговори (1)


Вашата среда изглежда добре. Създадохте ли друг скрипт за изпълнение? Поставете скрипта swiftlint върху скрипт за изпълнение, който вече съществува, или дайте различно име за всеки „Скрипт за изпълнение“, който създавате.

person Josué Santos    schedule 26.09.2018
comment
Бяхте прав, добавих скрипта за изпълнение към същия скрипт за изпълнение на Fabric и pod install започна да работи отново! Благодаря много! - person FilipeFaria; 26.09.2018