Дълга история накратко
Опитвам се да добавя 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
Някаква идея как мога да разреша тази грешка?