🚪 介紹
Eask 被構建為用作 Elisp 包中的包開發工具。 但是現在,Eask 支持各種類型的 Emacs Lisp 任務。 它可以通過三種主要方式使用:
- Elisp 包的開發工具
- 配置的依賴管理
- 為所有其他目的運行 elisp 程序
那麼,除上述內容外,Eask 與其他構建工具(如 Cask、makem.sh 和 Eldev 之間的主要區別是什麼?
好問題! Eask 現在不僅僅是一個構建工具,它可以用於各種目的! 但 Eask 的目標是:
- 一致足以跨所有系統進行沙盒
- 通用足以讓 Emacsers 經常使用命令(
byte-compile
、checkdoc
等) - 穩健即使在出現用戶錯誤的情況下也足以提供有用的結果
- 無依賴,使該工具可以在任何平台上運行
附言 有關更多詳細信息,請參閱為什麼使用 Eask?。
Eask
與 Cask 具有相同的理念,請參閱他們的網站 Why Cask?
以了解您為什麼應該這樣做, 使用 Eask(或 Cask)。
Cask、makem.sh 或 Eldev 等許多工具並不**“真正”**支持 Windows。 Cask
已經放棄了對舊版 Windows 的支持,makem.sh
在 bash 上運行,Eldev
確實支持 Windows,
但作者沒有在 Windows 上使用它(沒有完整的測試,請參閱他們的
[CI 工作流程](https //github.com/doublep/eldev/actions/workflows/test.yml))。
Eask
旨在適配所有平台,包括 Linux
、macOS
和 Windows
。 它側重於跨平台能力和每個
操作系統之間的一致性。 如果 Eask 可以在您的機器上運行,那麼它也可以在任何平台上運行。
這是我們的建議; 如果您打算在特定於操作系統的軟件包上工作(從不使用其他平台),請使用其他工具。 另一方面,Eask 旨在提供每個操作系統之間的最佳一致性。 或者,如果你想學習一個隨處可用的工具, Eask 是最好的選擇之一。
該表是通過閱讀這些項目的文檔和源代碼編制的,但作者不是這些工具的專家。 歡迎指正。
該表顯示了作者選擇的技術以及項目的構建方式。 此外,他們做出了哪些技術決策? 放棄支持? 項目佈局? 等等。
Eask | Cask | Eldev | makem.sh | |
---|---|---|---|---|
bin 資料夾 | binary, bash, bat | bash, bat | bash, bat, ps1 | bash |
跨平台 | ✅ | ❌, 不支援 Windows | ✅ | ❌, 不支援 Windows |
Emacs 版本 | 26.1+ | 24.5+ | 24.4+ | 26.1+ |
檔案大小 | 9,000+ 行 | 3,000+ 行 | 8,000+ 行 | 1,200+ 行 |
執行檔 | ✅ | ❌ | ❌ | ❌ |
純 Elisp | ❌, JavaScript | ✅ | ✅ | ✅ |
CLI 解析器 | yargs | commander | 內建 | 內建 |
💡 makem.sh 也有很好的比較文檔,請訪問他們的站點
這是每個工具之間的功能比較。 每種工具都有其優點; 選擇適合您的工具!
如果這些功能沒有在下面列出,要么被遺忘,要么只是被認為太重要了,所以每個工具都有它; 因此我們不將它們添加到列表中。
Eask | Cask | Eldev | makem.sh | |
---|---|---|---|---|
Elisp 配置 | ✅, DSL 是可選的 | ❌, 僅 DSL | ✅, 純 elisp | ❌ |
處理 archives 錯誤 | ✅, 看 archives | ❌ | ❌ | ❌ |
create 建立專案, 等等 | ✅ | ❌ | ❌ | ❌ |
link 本地依賴 | ✅ | ✅ | ✅ | ❌ |
exec 執行軟件 | ✅ | ✅ | ❌ | ❌ |
eval 表達式 | ✅ | ✅ | ✅ | ❌ |
emacs 執行 | ✅ | ✅ | ❌ | ❌ |
支援 docker | ✅ | ❌ | ✅ | ❌ |
內建 linters | ✅ | ❌ | ✅ | ❌ |
內建 tests | ✅ | ❌ | ✅ | ❌ |
執行 script | ✅ | ❌ | ❌ | ❌ |
可自行建立指令 | ✅ | ❌ | ✅ | ❌ |
子指令 | ✅ | ❌ | ❌ | ❌ |
請參考這.
請參考這.
Eask 的設計深受以下項目的影響: