无法使用命令行工具运行Swift代码

时间:2015-01-19 22:16:11

标签: xcode command-line swift

我从developer.apple.com/downloads下载了Xcode CLT,然后安装了该软件包。

想要在Swift上尝试一下,我试图写一个简单的“hello,world”程序,但是,从我开始它的第一刻起,事情似乎是“错误的”。查看以下屏幕输出:

$ xcrun swift 
Welcome to Swift!  Type :help for assistance.
dyld: Library not loaded: @rpath/libswiftCore.dylib
  Referenced from: /Library/Developer/CommandLineTools/Library/PrivateFrameworks/LLDB.framework/Versions/A/Resources/repl_swift
  Reason: image not found
  1> s="hello, world"
Error in auto-import:
failed to get module 'Swift' from AST context
  1> ^D

我特别关注“dyld”行,该行与该输出中的第3行有关。

我在网上搜索,发现这是由一些证书不匹配问题引起的。但是,我既没有要求Apple提供任何证书,也没有向任何人颁发任何证书。我只是想在不下载整个XCode的情况下试用Swift。

所以,问题是:

  • 为什么我得到“dyld:Library not loaded:...”错误?
  • 我该如何解决?
  • 如何在下载整个XCode之前在命令行上编写,编译和运行简单的Swift代码?

非常感谢您的帮助。急切地等待你的回复。

修改

以下是我安装工具的方法:我从developer.apple.com/downloads网站下载了这些工具。我有一个dmg文件,我点击了它。它包含一个包文件。当我点击它时,它会弹出一个很好的弹出窗口,说“安装”效果。我浏览了它向我投掷的所有对话框,选择了所有默认值。过了一会儿,它说“已安装”。

然后我打开了emacs,写了10行c,编译并运行它。成功了!所以,我上网,找到了我能找到的最基本的快速程序,复制它并试图运行它......然后繁荣......我得到了那个错误。所以我开始使用swift解释器并输入代码。不!这也不起作用!

所以,考虑到所有......我觉得我尽力安装这些工具,但是,如果我错过任何可能导致CLT部分而非完全安装的步骤,请告诉我。

2 个答案:

答案 0 :(得分:5)

  

未能获得模块' Swift'来自AST背景

使用xcode-select命令行工具:

sudo xcode-select --switch /Applications/Xcode.app

或者如果您使用的是Xcode-beta,请使用:

sudo xcode-select --switch /Applications/Xcode-beta.app

从xcode-select手册:

  

设置开发人员目录后,将自动调用所有xcode-select提供的开发人员工具shims ...          所选开发人员目录中的工具版本。

欲了解更多信息:

man xcode-select

答案 1 :(得分:1)

cd /Library/Developer/CommandLineTools/Library/PrivateFrameworks/LLDB.framework/Versions/A/Resources

然后

sudo install_name_tool -rpath @executable_path/../../../../../Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx /Library/Developer/CommandLineTools/usr/lib/swift/macosx repl_swift

将摆脱错误的第一部分。我还无法弄清楚第二部分。 (自动导入时出错)。任何人都有基于解决方案第一部分的想法吗?