10 分钟完成 nexe 下载与安装:把 Node.js 应用打包成单个可执行文件
【免费下载链接】nexe🎉 create a single executable out of your node.js apps项目地址: https://gitcode.com/gh_mirrors/ne/nexe
nexe 是一个命令行工具,能把 Node.js 应用连同依赖一起编译成一个独立可执行文件,目标机器无需再装 Node.js 或 npm。如果你需要向别人分发应用、部署到没有 Node 环境的生产机,或者希望多个程序锁定各自不同版本的 Node 运行时,这份 nexe 安装指南会带你从零走到跑通第一个可执行文件。
场景自检
- 如果你是给终端用户做工具,不想让他们先装 Node 环境,那这个项目就是为你准备的
- 如果你要在 CI/CD 里把应用产出成单个二进制便于发布和回滚,那这个项目就是为你准备的
- 如果你希望同一台机器上不同程序运行在不同版本的 Node.js 上,那这个项目就是为你准备的
三种都不沾边,可以直接关掉这篇。
准备清单
📋 默认安装走的是「下载预编译产物」路线,只要 Node.js + npm 就能开始;C++ 工具链仅在从源码编译时才需要。
| 工具 | 作用 | 检查命令 | 获取地址 |
|---|---|---|---|
| Node.js(≥ 10) | 运行 nexe 本身的宿主环境 | node -v | nodejs.org |
| npm | 全局安装 nexe | npm -v | 随 Node.js 一同提供 |
| Python 3 | 仅--build从源码编译 Node 时使用 | python3 --version | python.org |
| C++ 编译器 | 仅--build时使用;Windows 需 VS Build Tools,macOS/Linux 用 gcc/g++ | gcc --version/g++ --version | 各发行版包管理器或微软官网 |
下载与安装
第 1 步,确认 npm 可用——它是后续全局安装的通道:
npm -v预期看到:打印出一个版本号,如10.2.4。若失败,跳到「常见卡点」。
第 2 步,全局安装 nexe:
npm install -g nexe预期看到:added 1 package之类的成功提示,无红色报错。若失败,跳到「常见卡点」。
第 3 步,验证命令已注册到 PATH:
nexe -v预期看到:输出一行版本号,如5.0.0-beta.3。若失败,跳到「常见卡点」。
首次运行验证
装好不等于能用,跑一个最小的例子才算数。
在项目目录写一个入口文件,内容一行即可:
console.log('hello from nexe')执行编译,-o指定输出文件名:
nexe -i hello.js -o hello预期看到:日志走到Writing result to file,同目录下多出一个hello(Windows 上是hello.exe)。首次编译会下载预编译底座二进制,稍等片刻;之后产物缓存在~/.nexe,再编译会明显变快。
直接运行它:
./hello(macOS/Linux 若提示 Permission denied,先执行chmod +x hello。)
预期看到:hello from nexe。至此,nexe 已安装成功并跑通全链路。
常见卡点
Q:报Error: Entry file "" not found!?你没给入口文件,也没有可用的package.json#main。用-i显式指定:nexe -i app.js -o out。
Q:提示某个可执行文件「not available, create it using the --build flag」?通常是网络下载被拦,或该版本没有现成底座。用-t指定一个已有预编译的版本,例如-t x64-14.15.3;确实需要该版本时,再装好 Python 3 和 C++ 工具链后加--build从源码编译。
Q:Windows 上装完提示「nexe 不是内部或外部命令」?当前终端的 PATH 还是旧的。关掉重开一个终端;仍不行,手动把 npm 全局目录(npm config get prefix指向的 bin 目录)加入 PATH。
下一步
到这里,工具链已经通了,建议按这个顺序继续:
- 跑
nexe --help通读一遍 CLI 参数,重点看-r(把资源文件嵌进二进制)和-t(交叉编译其他平台) - 把
examples/express-app/index.js当作练习对象,体验带资源的打包 - 想弄清编译流程,从 src/nexe.ts 读起,再看 src/steps/ 里各个步骤的实现
【免费下载链接】nexe🎉 create a single executable out of your node.js apps项目地址: https://gitcode.com/gh_mirrors/ne/nexe
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考