vapor build error: manifest parse error(s)

vapor build error: manifest parse error(s)

macOS Height Sierra 10.13.4
Xcode 版本 9.3

$ swift --version
Apple Swift version 4.1 (swiftlang-902.0.48 clang-902.0.37.1)
Target: x86_64-apple-darwin17.5.0

$ brew info vapor
vapor/tap/vapor: stable 3.1.4.l
https://vapor.codes
/usr/local/Cellar/vapor/3.1.4.l (4 files, 17.0MB) *
  Built from source on 2018-04-01 at 23:55:47
From: https://github.com/vapor/homebrew-tap/blob/master/vapor.rb
==> Dependencies
Required: ctls ✔, libressl ✔

$ eval "$(curl -sL check.vapor.sh)"
✅  Xcode 9 is compatible with Vapor 2.
✅  Xcode 9 is compatible with Vapor 3.
✅  Swift 4.1 is compatible with Vapor 2.
✅  Swift 4.1 is compatible with Vapor 3.

$ vapor version
Vapor Toolbox: 3.1.4

我创建新项目:

vapor new Hello --template=api

当我尝试构建它时:

vapor build --verbose

我收到错误:

No .build folder, fetch may take a while...
Fetching Dependencies ...
warning: 'fetch' command is deprecated; use 'resolve' instead
/PATH-TO-PROJECT: error: manifest parse error(s):
<module-includes>:5:9: note: in file included from <module-includes>:5:
#import "copyfile.h"
        ^      
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/copyfile.h:36:10: note: in file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Develo. per/SDKs/MacOSX10.13.sdk
/usr/include/copyfile.h:36:
#include <stdint.h>
         ^
/usr/local/include/stdint.h:59:11: note: in file included from /usr/local/include/stdint.h:59:
# include <stdint.h>
          ^
/usr/local/include/stdbool.h:4:10: note: in file included from /usr/local/include/stdbool.h:4:
#include <stdbool.h>
         ^

<unknown>:0: error: could not build Objective-C module 'Darwin'
Building Project [Failed]
Error: execute(1)

有人知道那里出了什么问题吗?提前致谢!

太奇怪了!只是为了确认您在正确的文件夹中?如果你 运行 swift build 它会做同样的事情吗?

我找到了解决方案:

$ brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected header files:
  /usr/local/include/base.h
  /usr/local/include/bcj.h
  /usr/local/include/block.h
  /usr/local/include/cdefs.h
  /usr/local/include/check.h
  ...

并通过从 /usr/local/include/

中删除所有 "Unbrewed header files" 解决了问题

我有一个与 brew 无关的类似问题。

Error: backgroundExecute(code: 1, error: "/path/to/project: error: manifest parse error(s):\nInvalid version string: x.0.0\n", output: "")

我的包文件看起来像这样;

...
.package(url: "https://github.com/../something.git", .upToNextMajor(from: "x.0.0")),
...

查看 .upToNextMajor(from:) 我没有看到 'x' 的任何解析,所以我只是转到 github 页面并找到我想要的主要版本并将其替换为占位符在我的包文件中:

...
.package(url: "https://github.com/../something.git", .upToNextMajor(from: "1.0.0")),
...

这解决了我的问题,希望这对下一个过来的人有帮助!对你有帮助就点个赞吧!