нет такого модуля "PerfectLib"

Я пытаюсь создать службу REST и смотрю этот учебник: https://videos.raywenderlich.com/courses/77-server-side-swift-with-perfect/lessons/1 для инфраструктуры Perfect, и я застрял, потому что (момент в учебном видео, время ~ 2:31), когда я компилирую этот код, он говорит, что модуль PerfectLib не существуют, даже несмотря на то, что я следовал каждому шагу в видео и загрузил все файлы, которые мне сказали в видео. Я работаю на линуксе.


person Bodeue    schedule 21.04.2017    source источник
comment
В основном, очистка кода, выход из xCode и перезапуск xCode решат проблему для меня. Я получал это много раз при импорте новых стручков.   -  person J. Doe    schedule 21.04.2017
comment
Благодарю за ваш ответ. Как я уже сказал, я пользователь Linux (Ubuntu), и у меня нет Xcode, так как нет Xcode для Linux, поэтому я не могу его перезапустить. Я использую Visual Studio в качестве своей IDE и компилирую с помощью REPL (по крайней мере, я так думаю, я новичок как в Swift, так и в программировании в целом).   -  person Bodeue    schedule 21.04.2017
comment
Хорошо :( ну, я использую виртуальную машину, на которой работает версия для Mac :). Я не могу помочь вам здесь :(   -  person J. Doe    schedule 21.04.2017


Ответы (1)


Убедитесь, что Package.swift выглядит так:

dependencies: [
    .Package(url: "https://github.com/PerfectlySoft/Perfect-HTTPServer.git", majorVersion: 2)
]
person PerfectlyRock    schedule 02.05.2017
comment
так что это сработало для меня, но интересно то, что эта строка была почти одинаковой, за исключением того, что majorVersion была 3, а не 2, я изменил ее на 2, она больше не жалуется. и, несмотря на жалобы, проект компилируется и работает нормально. есть идеи, почему это происходит? у меня были почти такие же проблемы с использованием Vapor с Xcode 9.0 - person i6x86; 22.09.2017
comment
Обратите внимание, что ответ работает только для Swift 3.1. Если применяется к Swift 4.0, то он поставляется с: .package(url: ..., from: 3.0.0) И еще одну зависимость необходимо добавить в раздел target. - person PerfectlyRock; 25.09.2017
comment
Также, если у кого-то много зависимостей и такое случается, попробуйте переместить эту строку (HTTPServer) в начало массива перед остальными, чтобы она была с индексом 0. - person Tyress; 12.01.2018