Nano Hash - криптовалюты, майнинг, программирование

Vapor не работает с xcode 9 и swift 4

Когда я пытаюсь скомпилировать свой недавно созданный паровой проект с помощью Xcode 9, я получаю 189 ошибок компиляции. В чем хитрость, чтобы заставить это работать? Я установил пар и набор инструментов и создал с помощью «vapor new test --template=api», а затем «vapor xcode», чтобы запустить его.

03.11.2017

  • Некоторые примеры, которые были перенесены на Vapor 2 + Swift4, размещены на GitHub Vapor Examples Lab. 04.11.2017

Ответы:


1

Обновление 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.

Схема Xcode Выполнить › Мой Mac

04.11.2017
  • У меня такая же версия инструментария, но команда моей версии не показывает вывод фреймворка. Моя быстрая версия такая же, как ваша (обратите внимание, что вы сказали пар вместо быстрой в этой копии команды). Я все еще получаю 193 ошибки. 04.11.2017
  • swift package tools-version возвращает ошибку, что такого файла или пакета каталогов нет. 05.11.2017
  • Хорошо, все выглядит так же, как у вас. Моя версия инструментов говорит 4.0.0. Но я получаю массу ошибок xcode, когда открываю проект. 05.11.2017
  • Вот пример из Crypto, который терпит неудачу. Мой openssl пришел из brew. ld: предупреждение: игнорируется файл /usr/local/opt/openssl/lib/libssl.dylib, файл был создан для архитектуры x86_64, которая не связана с архитектурой (arm64): /usr/local/opt/openssl/lib/libssl. дилиб 05.11.2017

  • 2

    Попробуйте «варить апгрейд пара», если используете варку. Если вы используете apt, попробуйте «sudo apt-get update», а затем «sudo apt-get install steam». Это сработало для меня. Я думаю, потому что некоторое время назад я установил 2.0, который не мог работать с проектами 3.0.

    22.11.2018
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..