「シンボルの関数定義は無効です:org-babel-get-header」を修正する方法


7

これをどのようにトラブルシューティングしますか?(shブロックを非同期で実行しようとしています)

#+BEGIN_SRC sh                                                                                                   
/tmp/7.sh                                                                                                        
#+END_SRC

それから私はします

C-c C-c

私は得る

Symbol's function definition is void: org-babel-get-header

私のセットアップ

prelude emacs25 orgインストール済み

;; my ~/prelude/personal/personal.el
(prelude-require-package 'ob-async)                                                                              
(require 'ob-async)   
(setq org-confirm-babel-evaluate nil)                                                                            

(org-babel-do-load-languages                                                                                     
 'org-babel-load-languages                                                                                       
 '(                                                                                                              
   (sh . t)                                                                                                      
   (ruby . t)                                                                                                    
   ))  


(今日)34問ありますfunction definition is voidemacs.stackexchange.com/… エラーは常に同じ意味ですが、適切な対処法は場合によって異なります(たとえば、変数を関数、パッケージがまだロードされていない、間違ったEmacsバージョン)。最も一般的な原因は、最初に必要なライブラリをロードしていないことです。誰かがこれらの質問のほとんどまたはすべてを慎重に、新しい一般的なコミュニティの質問統合し、適切な回答が得られたらすばらしいと思います。
ドリュー

回答:


12

よるとhttps://lists.gnu.org/archive/html/emacs-orgmode/2015-11/msg00425.html ob-sh改名されたob-shell組織8.2に...と私はそこからの引用:

org-babel-get-headerは0d000f5(babel:APIの小さな変更、2015-10-29)で削除されましたが、古いob-sh.elはまだそれを呼び出そうとしています。

ことを意味しますが交換する必要があります(sh . t)(shell . t)のお電話でorg-babel-do-load-languagesそして、後でemacsを再起動することを忘れないでください!;-)

EDIT:あなたがからソースコード・ブロックのソース言語を変更する必要はありませんshshell。を呼び出すことだけが重要org-babel-shell-initializeです。

でサポートされているソースコード言語ob-shellは、オプションで定義されますorg-babel-shell-names(カスタマイズ可能)。

のデフォルト値org-babel-shell-namesは次のとおりです。

'("sh" "bash" "csh" "ash" "dash" "ksh" "mksh" "posh")

これらの名前から、org-babel-execute:...関数はによって生成されorg-babel-shell-initializeます。


コード・ブロック・ヘッダ、使用shまたはシェル約何
アメリカン忍者戦士

どちらでも使用できますが、多少異なります。emacs.stackexchange.com/questions/35321/…を
erikstokes 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.