2012-04-23 71 views
1

Emacs中运行遇事时,当我使用rspec的模式我收到以下错误从Emacs中运行某些rspec的要求规格:rspec的要求规范使用rspec的模式

使dyld:懒符号绑定失败:找不到符号:_system_free 从引用:平面命名空间

当我运行:/Users//.rvm/gems/[email protected]/gems/nokogiri-1.5.2/lib/nokogiri/nokogiri.bundle 预期命令行中的相同规范运行得很好。想知道是否有人可能知道为什么在通过emacs运行rspec请求规格时出现错误消息的原因?

+0

您的问题是结构不良,但它是一个重要的问题 – 2012-04-24 17:28:28

回答

1

我能够通过强制emacs使用bash shell而不是zpec来解决此问题,正如rspec-mode项目主页上所建议的。我在这里复制这些信息:

如果您使用ZSH和RVM,可能会遇到运行规格时遇到的问题。这可能会导致使用比您在.rvmrc中指定的更旧版本的Ruby。这是因为ZSH在每次创建shell时都会运行一个小脚本,这会修改$ PATH。问题在于它预先添加了一些默认路径,例如/ usr/bin,其中包含另一个ruby二进制文件。

你可以做些什么来解决这个问题,就是使用BASH来运行规格。这段代码做的工作:

(defadvice rspec-compile (around rspec-compile-around) 
    "Use BASH shell for running the specs because of ZSH issues." 
    (let ((shell-file-name "/bin/bash")) 
    ad-do-it)) 
(ad-activate 'rspec-compile)