Tech
[分享创造] 分享一个小项目:把 ripgrep 做成跨平台的单文件 rg.com,还支持 Python / Node.js / Java 调用
rg ( ripgrep )是一个很强大的工具,但并不是每个平台都有。 有时候我想在 Python 或其他语言里使用它,但平台、CPU 架构和编程语言的组合实在太多了,处理起来比较麻烦。 所以我把它做成了 APE ( Actually Portable Executable ),这样只需要一个可执行文件,就能在 Windows 、Linux 和 macOS 上运行,同时支持 x86_64 和 ARM64 架构。 然后利用 APEBind ,为不同编程语言生成统一的调用接口。这样无论使用哪种语言,想调用 rg 都会方便很多。 其实同样的思路,我还做了另外两个项目: sympy-ape:可以直接在 Java / Node.js 里调用 Python 的 SymPy 。(当然是不必有 python) tika-ape:可以在 Python 里直接使用 Apache Tika ,不需要额外安装 JVM 等依赖。 这些项目的核心思路都差不多:把工具打包成跨平台的 APE ,再通过 APEBind 提供不同语言的调用接口,尽量减少环境和依赖方面的麻烦。 rg-ape 项目地址: ...
Read the full discussion on V2EX
This article was aggregated from V2EX. Click to join the conversation.
View on V2EX