我正在考虑在Ubuntu 16.04服务器上运行Swift。但是我想确定我应该在哪里安装工具链。
来自swift.org:
如果您将Linux上的Swift工具链安装到系统根目录以外的目录,则需要使用Swift安装的实际路径运行以下命令...
然后从Kitura's Setting Up说明:
解压缩.tar.gz文件后,更新您的PATH环境变量,使其包含提取的工具:
$ export PATH=<path to uncompressed tar contents>/usr/bin:$PATH
安装这些类型的东西最好的地方在哪里?在过去,我会依赖维护者提供的apt-get
或安装脚本,但Swift似乎并非如此。
不在系统根目录下安装它有什么好处或坏处吗?
注意:这个问题与“最佳实践”有关,我认为这是不赞成的。对此我很抱歉;我用Google搜索,这似乎是人们隐含的知识。但是,我还不需要一些指导
答案 0 :(得分:2)
系统根目录中的软件版本 - /usr/bin
,/usr/share
,/usr/lib
等 - 由您的发行版的维护人员仔细协调,以处理所有合理的依赖关系。维护人员还使软件与错误修复保持同步。
当您需要安装发行版未提供的软件时,最好将其安装在单独的目录中,例如/opt
(在您的情况下,有一种可能性是{ {1}})。这样可以避免使用可能与其他软件不兼容的内容覆盖现有已安装的软件(在您的情况下为/opt/swift-3.1.1
和/usr/bin/lldb
)。它可以轻松卸载(只需/usr/lib/lldb
,而不必从原始tarball中获取可能遍布rm -r /opt/swift-3.1.1
的文件列表。)
还有一些额外的工作:您需要将/usr
添加到/opt/swift-3.1.1/usr/bin
1 。使用某些软件,您需要将包含动态库文件的目录添加到PATH
。软件的安装说明通常会说明您需要执行的操作。
[1] 更改LD_LIBRARY_PATH
的另一种方法是在每个新的可执行文件中添加一个符号链接,这个符号链接位于PATH中已有的目录中。 GNU Stow可以帮助您做到这一点。