蒸汽构建错误:清单解析错误

时间:2018-04-02 18:32:08

标签: swift swift4.1 vapor

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)

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

3 个答案:

答案 0 :(得分:1)

我找到了解决方案:

$ 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头文件”解决了这个问题

答案 1 :(得分:0)

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

答案 2 :(得分:0)

我遇到了与brew无关的类似问题。

  

错误:backgroundExecute(代码:1,错误:“ / path / to / project:错误:清单解析错误:\ n无效的版本字符串:x.0.0 \ n”,输出:“”)

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

...
.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")),
...

这为我解决了这个问题,希望这对下一个来的人有所帮助!如果有帮助,请投票!