2012-04-23 75 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)