在不需要 Homebrew 的情况下在 macOS 上安装 Vapor
Posted
技术标签:
【中文标题】在不需要 Homebrew 的情况下在 macOS 上安装 Vapor【英文标题】:Installing Vapor on macOS without needing Homebrew 【发布时间】:2017-08-23 10:43:40 【问题描述】:我正在尝试启动一个 Swift Vapor 项目。按照指南here,Homebrew 似乎是唯一的选择。我已经拥有 MacPorts,并且在很多方面都比 Homebrew 更喜欢它。不幸的是,Vapor 没有端口,所以我选择了 Vapor 人描述的 SPM 安装here。我之前在 Kitura 上取得过成功,所以我想为什么不使用 Vapor。好吧,当你去构建你的项目时,你会得到
$ swift build
[... build stuff ...]
note: you may be able to install ctls using your system-packager:
brew install ctls
[... more build stuff ...]
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "shim.h"
^
[... more like that ...]
/Users/morpheu5/web/vizex/api/.build/checkouts/crypto.git-7980259129511365902/Sources/Crypto/Cipher/Cipher+Method.swift:1:8: error: could not build Objective-C module 'CTLS'
import CTLS
^
<unknown>:0: error: build had 1 command failures
error: exit(1):/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-build-tool -f /Users/morpheu5/web/vizex/api/.build/debug.yaml
显然你真的需要这个ctls
包,而获得它的唯一方法似乎是通过 Homebrew/Tap。
我真的不想要或不需要 Homebrew,那么我该如何解决这个问题呢?我真的很想试试 Vapor。
【问题讨论】:
AFAIK,Vapor 是通过 Swift 包管理器安装的。尽管命令行工具非常方便,但它们不是强制性的。 【参考方案1】:强制 1:安装 Homebrew 是最简单的方法。如果您随后决定不想要 Homebrew,它会非常整齐地卸载。
义务 2:使用 Linux 虚拟机是第二简单的方法。
但要回答您的问题并手动安装CTLS
:
确保您已安装 LibreSSL
或 OpenSSL
的库(大概使用 MacPorts)
下载CTLS
的最新release。
从发布存档中,将 macos.pc
重命名为 ctls.pc
,然后使用文本编辑器对其进行编辑。更改路径以指向您的 LibreSSL/OpenSSL 安装。
将编辑后的ctls.pc
移动到您的$PKG_CONFIG_PATH
。
我已经对此进行了测试,它对我有用,但需要注意的是我使用 Homebrew 安装了 LibreSSL
,所以我不知道 MacPorts 会将它放在哪里。
【讨论】:
我对 Homebrew 的唯一问题是我仍然更喜欢 MacPorts,而且我讨厌它们互相踩脚。感谢您的详细回答:)以上是关于在不需要 Homebrew 的情况下在 macOS 上安装 Vapor的主要内容,如果未能解决你的问题,请参考以下文章
解决在macOS下安装homebrew出现port 443: Connection refused的情况
如何在不需要自定义库的情况下在 Google Colabs 上使用 Selenium IDE,例如科拉?