Когда я пытаюсь скомпилировать свой недавно созданный паровой проект с помощью Xcode 9, я получаю 189 ошибок компиляции. В чем хитрость, чтобы заставить это работать? Я установил пар и набор инструментов и создал с помощью «vapor new test --template=api», а затем «vapor xcode», чтобы запустить его.
Vapor не работает с xcode 9 и swift 4
- Некоторые примеры, которые были перенесены на Vapor 2 + Swift4, размещены на GitHub Vapor Examples Lab. 04.11.2017
Ответы:
Обновление Xcode 12/Swift 5.3
vapor
теперь является частью homebrew/core
. Источник: github homebrew-core/Formula/vapor.rb а>.
##### If applicable, remove the obsolete 'vapor/tap' #####
## List current taps:
brew tap
# homebrew/core
# vapor/tap
## Remove tap:
brew untap vapor/tap
#### Install current version of vapor #####
brew install vapor
brew upgrade vapor
Xcode 9/Swift 4
Убедитесь, что все обновлено. Следующие сборки и запуски для меня в это время:
Используйте последнюю версию набора инструментов для работы с паром.
В настоящее время:
vapor new test --template=api
cd test
swift package tools-version
# 4.0.0
# use `swift package tools-version --set-current` if needed
rm Package.resolved
vapor update
vapor --version
# Vapor Toolbox: 3.1.2
# Vapor Framework: 2.3.0
Обратите внимание, что Vapor Framework:__
отображается только тогда, когда рабочий каталог терминала pwd
указывает на каталог проекта steam.
Если нужно ...
brew tap --full vapor/homebrew-tap
brew update
brew upgrade
В некоторых случаях может потребоваться удалить и переустановить набор инструментов Vape. (см. vapor toolbox сломан после обновления swift)
Используйте последнюю версию Xcode.
На данный момент: Xcode: 9.1, Swift: 4.0.2.
swift --version
# Apple Swift version 4.0.2 (swiftlang-900.0.69.2 clang-900.0.38)
Используйте vapor update
или swift package update
vapor new test --template=api
cd test
rm Package.resolved
vapor update
поочередно,
vapor new test --template=api
cd test
rm Package.resolved
swift package update
swift package generate-xcodeproj
Вышеупомянутые обновления, компилируются и работают нормально для меня в Xcode 9.1.
Примечание. Однако существует около 44 новых предупреждений об устаревании одного и того же типа. Я впервые узнал об устаревании characters
с Xcode9.1/Swift4.0.2.
«символы» устарели: используйте строку или подстроку напрямую
Итак, новые предупреждения об устаревании, но 0 ошибок… и, что более важно, проект работает как Vapor 2 + Swift 4.
Кроме того, проверьте версии Packages.resolved
по сравнению с тем, что доступно в каждом соответствующем репозитории исходного кода. На github лаборатория примеров Vapor: репозиторий TemplateApiTest содержит Packages.resolved
, который был сгенерирован и работает с цепочкой инструментов. сценарий выше.
Наконец, еще раз проверьте, что целью этой сборки является Run
в macOS, а не iOS на базе ARM.
Попробуйте «варить апгрейд пара», если используете варку. Если вы используете apt, попробуйте «sudo apt-get update», а затем «sudo apt-get install steam». Это сработало для меня. Я думаю, потому что некоторое время назад я установил 2.0, который не мог работать с проектами 3.0.
swift package tools-version
возвращает ошибку, что такого файла или пакета каталогов нет. 05.11.2017