Tôi có nên xóa `(shell. T)` để xóa lỗi khởi tạo ob-shell không?


8

Bài viết đầu tiên. Tôi muốn xác nhận xem tôi có khắc phục được sự cố cài đặt Emacs hay không và nếu tôi không, hãy hướng dẫn về nơi và cách tiến hành.

Thiết lập của tôi:

  • Emacs 24,5
  • Macbook Pro Core Duo (giữa năm 2010)
  • OSX El Cap (10.11.4)

Gần đây tôi đã cài đặt Emacs cùng với [ https://kieranhealy.org/resource/emacs-starter-kit/[(social starter kit). Khi tôi lần đầu tiên khởi chạy Emacs sau khi cài đặt, tôi đã nhận được một lỗi (bên dưới) mà theo như tôi có thể nói, không ngăn cản bất cứ điều gì làm việc với mặc dù, mặc dù tôi không biết gì về Emacs.

Sau khi cài đặt, tôi nhận được thông báo lỗi follwing khi khởi chạy:

Warning (initialization): An error occurred while loading     
`/Users/lmp/.emacs.d/init.el':

File error: Cannot open load file, no such file or directory, ob-shell

To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file.  Start Emacs with
the `--debug-init' option to view a complete error backtrace.

Tôi đã khởi chạy Emacs từ thiết bị đầu cuối sang chế độ gỡ lỗi nhưng không thể cho cuộc sống của tôi tìm ra nền tảng. Vì vậy, tôi đã nhận xét các phần của tệp init.el cho đến khi tôi tìm thấy dòng mã vấn đề:

(org-babel-load-file (expand-file-name "starter-kit.org" dotfiles-dir)) 

Vì vậy, tôi đã mở tệp starter-kit.org và thực hiện tương tự dẫn tôi đến đoạn mã sau

(org-babel-do-load-languages
'org-babel-load-languages
'((emacs-lisp . t)
(shell . t)))

Sau khi tìm kiếm trang web chế độ org và một vài diễn đàn, tôi đã thử cách sau để xóa lỗi:

(org-babel-do-load-languages
'org-babel-load-languages
'((emacs-lisp . t)))

Theo hiểu biết của tôi, . tmột phần của mã là một dấu hiệu đúng / sai. Nhưng cho dù loại bỏ nó khỏi tập tin là khôn ngoan hay ngu ngốc, là những gì tôi muốn biết. Hoặc, để nêu câu hỏi của tôi theo cách rõ ràng nhất:

  1. Tôi đã khắc phục thành công sự cố chưa? Nếu không, tai sao không?
  2. Có bất cứ điều gì tôi nên làm thay thế, hoặc nên làm ngoài việc loại bỏ (shell . t)?

Câu trả lời:


7

Bạn đã khắc phục thành công vấn đề? Chắc chắn rồi! ob-shellđang lật ra và bạn ngừng tải nó. Đó là, trong một số ý nghĩa, một sửa chữa!

Điều đó nói rằng: đoạn mã bạn đã tìm thấy và nhận xét các điều khiển ngôn ngữ nào được tải bởi org babel , đây là một chức năng khá mạnh mẽ trong org. Nếu bạn có bất kỳ mối quan tâm nào trong việc sử dụng / đánh giá các khối mã shell, bạn sẽ muốn sửa lỗi mà bạn có một cách khác. Bạn nói đúng - . tliên kết sự thật với một giá trị. Trong trường hợp này, nó chỉ ra rằng org nên tải phụ trợ shell cho các khối nguồn org.

Tất cả điều này đã nói: nếu bạn muốn chương trình phụ trợ chạy, không có đủ thông tin trong bài viết gốc của bạn để chẩn đoán những gì sai với nó. Tôi có thể cho bạn biết tập tin cấu hình của tôi không có (shell . t), nhưng đúng hơn (sh . t). Một điều cần kiểm tra kỹ là bạn đang sử dụng phiên bản Org Mode lớn hơn 8, bạn có thể làm gì với M-x org-version. Ngoài ra, tôi rất ít đề nghị tại thời điểm viết.

Vì thế! Bạn có muốn sử dụng khối nguồn vỏ? Nếu có: giải quyết vấn đề trước nhiều hơn! Nếu không: bạn đã sửa nó!


Cảm ơn bạn, @Gastove Tôi đang chuyển sang Emacs để tôi có thể viết các bài báo học thuật ở chế độ org với mã R để thống kê: vì vậy, tôi sẽ cần cái vỏ như tôi có thể nói. Tôi chắc chắn sẽ xem xét tài liệu babel và shell một cách cẩn thận trong những ngày tới. Nhanh theo dõi: Tôi cố gắng thay thế (shell . t)với (sh . t)và nó quá xóa lỗi. Là hai chức năng giống nhau?
Luke M Perez

Thành thật: Tôi đã hy vọng (shell . t)sẽ làm việc; Tôi biết (sh . t)cũng hoạt động, vì vậy tôi đề nghị nó, nhưng tôi biết trình tải là một chút khó khăn.
Gastove

2
Tôi có thể xác nhận rằng thay thế (shell . t)bằng (sh . t)trong tập tin ~/.emacs.d/starter-kit-org.orghoạt động. Ít nhất là trên bản cài đặt FreeBSD của tôi.
henning - phục hồi Monica

5

Tôi gặp phải vấn đề tương tự. Tôi đã nhận được Emacs mới 25.3 mới với org-modephiên bản 8.2.10 tích hợp. Khi tôi bắt đầu Emacs với tập tin init cũ của mình, tôi đã nhận được điều tương tự.

File error: Cannot open load file, no such file or directory, ob-shell

Tôi googled thông báo lỗi và tìm thấy câu hỏi này. Rồi tôi đổi (shell . t)thành (sh . t). Nó dường như để giải quyết thông báo lỗi.

Tuy nhiên, một vài ngày sau đó, khi tôi cố gắng thực sự sử dụng org-mode, tôi thấy phiên bản tích hợp thiếu một số tính năng và cập nhật lên 9.1.4. Sau đó, tôi đã gặp phải lỗi sau khi thực sự thực hiện một cái gì đó trong org-mode.

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

Sau đó, tôi thay đổi (sh . t)trở lại (shell . t)và giải quyết vấn đề.

Dường như với tôi rằng tên của ob-shđược thay đổi từ ob-shđến ob-shellnơi nào đó giữa phiên bản 8.2.10 và 9.1.4.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.