尝试在我的Ubuntu 14.04.3服务器上安装swift。遵循Swift.org上的指南。
然而,当我尝试运行swift时,我得到了#34;没有这样的文件或目录"
似乎找到了斯威夫特:icanzilb@underplot:~/public$ which swift
/home/icanzilb/swift-DEVELOPMENT-SNAPSHOT-2016-01-25-a-ubuntu14.04/usr/bin/swift
路径正确:
icanzilb@underplot:~/swift-DEVELOPMENT-SNAPSHOT-2016-01-25-a-ubuntu14.04/usr/bin$ echo $PATH
/home/icanzilb/swift-DEVELOPMENT-SNAPSHOT-2016-01-25-a-ubuntu14.04/usr/bin:...
但无法运行它:
icanzilb@underplot:~/swift-DEVELOPMENT-SNAPSHOT-2016-01-25-a-ubuntu14.04/usr/bin$ swift
-bash: /home/icanzilb/swift-DEVELOPMENT-SNAPSHOT-2016-01-25-a-ubuntu14.04/usr/bin/swift: No such file or directory
=====
更新1:我从swift.org尝试了Swift的开发和稳定版本,并且.sig检出但仍然遇到了同样的错误。
swift
可执行文件和我的Ubuntu都是64位。
答案 0 :(得分:0)
看起来这是一个架构不匹配的问题,正如其中一个评论者所指出的,或者是下载损坏。 swift可执行文件位于路径中,由which
选取。从它所在目录的名称来看,它确实适用于Ubuntu 14.04。我会尝试以下方法:
file `which swift`
这应该告诉你它是一个ELF 64位可执行文件,动态链接等等。如果不是这样,那么你的二进制文件会以某种方式被破坏。
然后做
uname -a
应将您的系统识别为Ubuntu 14,x86_64等。如果是这种情况,您可能有一个损坏的二进制文件。再次打开下载的软件包包并重试。如果您的系统不是x86_64,那么您的架构是错误的。
2016年2月4日更新:
根据您提供的有关二进制文件和体系结构的其他信息,我倾向于认为这是一个平台不匹配。 uname
的输出未显示它是Ubuntu框。此外,Linux内核为4.4.0,二进制为2.6.24。我可以在带有3.19.0内核的Ubuntu 14.04安装上成功运行相同的二进制文件。内核版本差异本身不一定是个问题,但是指示该平台可能不是标准的Ubuntu 14.04安装。
作为另一项检查,您可以cat /etc/os-release
和cat /etc/lsb-release
吗?这些文件应该表明该平台是否确实是Ubuntu。如果是,那么我想知道你是如何结束这个晚期内核版本的。操作系统的某些其他组件也可能过于新近且与Swift二进制文件不兼容。这可能是一些奇怪的自定义Linode图像...如果你有一台机器,你可以使用,虚拟或物理,尝试下载和安装标准的Ubuntu 14.04。