Repolode
ekalinin

ekalinin/nodeenv

一个基于 Python 的工具,用于创建相互隔离的 Node.js 虚拟环境,可与 Python virtualenv 集成。

可替代:nvm

Star
1,796
Fork
230
未关闭 Issue
26
最近提交
5天前

这是什么?

nodeenv 用于创建相互隔离的 Node.js 环境。每个环境拥有独立的安装目录,不会与其他环境共享全局 npm 包,思路与 Python 的 virtualenv 类似。

它既可以下载预编译的 Node.js 二进制包,也可以从源码编译,版本可以指定具体编号、semver 范围,或使用 latest、lts、system 等关键字。安装过程可以通过 requirements 文件驱动,还能用 -p 参数把 Node.js 环境添加到已有的 Python 虚拟环境中,让 Python 和 JavaScript 工具共存。

此外,它支持通过镜像源在受限网络中下载,可用 ~/.nodeenvrc 设置默认值,并提供 freeze 命令记录已安装的包,便于重复搭建相同环境。

核心功能

  • 01创建拥有独立安装目录的隔离 Node.js 环境。
  • 02默认安装预编译的 Node.js 二进制包,Unix 下也可从源码编译。
  • 03支持精确版本号、semver 范围以及 lts、latest 等关键字。
  • 04通过 -p 参数与已有的 Python virtualenv 集成。
  • 05可从 requirements 文件安装 npm 包,支持全局或安装到 node_modules。
  • 06支持自定义下载镜像,包括本地目录和需要认证的地址。

适用场景

  • Python 项目同时需要特定版本 Node.js 构建工具时使用。
  • 在多台机器上复现一致的 Node.js 与 npm 包版本。
  • 在需要镜像源或本地安装包的受限环境中部署 Node.js。
  • 并行保留多个 Node.js 版本,用于兼容性测试。

快速上手

  1. 1

    使用 pipx 全局安装 nodeenv

    pipx install nodeenv
  2. 2

    创建名为 env 的 Node.js 环境

    nodeenv env
  3. 3

    激活新环境

    . env/bin/activate

使用前须知

  • 许可证显示为 NOASSERTION,使用前请在仓库中查看许可条款。
  • 从源码编译 Node.js 需要 libssl-dev;若版本早于 13,还需要 python2 命令。

标签

常见问题

nodeenv 是什么?
一个基于 Python 的工具,用于创建相互隔离的 Node.js 虚拟环境,可与 Python virtualenv 集成。 nodeenv 用于创建相互隔离的 Node.js 环境。每个环境拥有独立的安装目录,不会与其他环境共享全局 npm 包,思路与 Python 的 virtualenv 类似。
nodeenv 可以免费使用吗?用的什么许可证?
nodeenv 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
nodeenv 还在维护吗?
活跃维护中。nodeenv 最近一次提交是在 2026年11月2日。
nodeenv 适合用来做什么?
Python 项目同时需要特定版本 Node.js 构建工具时使用。 在多台机器上复现一致的 Node.js 与 npm 包版本。 在需要镜像源或本地安装包的受限环境中部署 Node.js。 并行保留多个 Node.js 版本,用于兼容性测试。
nodeenv 怎么安装和运行?
使用 pipx 全局安装 nodeenv: pipx install nodeenv 创建名为 env 的 Node.js 环境: nodeenv env 激活新环境: . env/bin/activate
在哪里获取 nodeenv?
源代码和安装说明在 GitHub 上:https://github.com/ekalinin/nodeenv

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目

对 npm publish 的增强命令行工具,发布前自动检查、升版本、打 Git 标签、跑测试并推送,一次交互完成发版。

开发者工具#npm#cli#publish
7716+1 本周314JavaScriptMIT维护活跃更新于 14天前