You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取/$bunfs/root对应的实际目录?Bun可执行文件目录问题

获取Bun打包后可执行文件的所在目录

当你把Bun项目打包成可执行文件后,想要获取该可执行文件的实际存放目录,可通过以下方式实现:

  • 利用process.execPath获取可执行文件的绝对路径,再用path.dirname()提取目录部分:
    import path from 'path';
    const executionDirectory = path.dirname(process.execPath);
    

这个方法的核心逻辑是:process.execPath会返回当前运行的可执行文件的完整绝对路径,对其调用path.dirname()就能得到该文件所在的目录,基于这个路径就能正常访问相对目录下的文件。

对比你之前尝试的两种方法:

  • import.meta.dir在Bun打包后的可执行文件中,指向的是Bun虚拟文件系统的根目录(即/$bunfs/root),这是因为打包后的代码运行在Bun的虚拟环境中,和物理文件系统路径不对应。
  • __dirname本身在ES模块场景下不推荐使用,且它指向的是源码文件所在目录,并非打包后可执行文件的目录。

内容的提问来源于stack exchange,提问作者Vess Bakalov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 12:44:53