将node.js安装到您的虚拟环境中
项目描述
virtual-node
持续集成状态
此包是node.js源代码的包装器,并提供了一种方便的方式将其直接安装到您的虚拟环境中,而不是全局安装。我创建这个包是为了在Django项目中使用django-compressor的预编译器将less文件编译为CSS。
setup.py中使用的安装程序是从Eugene Kalinin提供的nodeenv包中改编的。不同之处在于,我想将node.js安装到现有的虚拟环境中,而不是为node创建一个特定的环境。
我正在使用virtual-less,它将lessc命令行工具安装到虚拟环境中。
安装
将node安装到您的虚拟环境与安装其他软件包一样简单
$ pip install virtual-node
如果您在安装virtual-node之前已经全局安装了node.js,那么运行npm或node仍然会指向您的全局安装。要确保您使用的是新安装的node,请先关闭虚拟环境,然后重新激活它。
您可以通过在虚拟环境中运行 which node 来检查 virtual-node 是否将节点指向了正确的地方。
$ which node
您的输出应该类似于以下内容
/home/elbaschid/.virtualenvs/lessc-test/bin/node
安装特定的 node 版本
版本 0.1.0 添加了对环境变量 NODE_VERSION 的支持,这使得指定要安装的 node 版本成为可能。如果您想安装版本 0.10.0,只需设置 NODE_VERSION=0.10.0 并运行 pip install。
$ export NODE_VERSION=0.10.0 $ pip install virtual-node
或者甚至只需要
$ NODE_VERSION=0.10.0 pip install virtual-node
此外,您还可以使用 NPM 打包格式 package.json(在版本 0.0.3 中添加支持)来指定 node 的版本。要使用此功能,您需要在安装 virtual-node 之前,在环境变量 PROJECT_DIR 中指定当前项目目录。您可以在命令行上简单地导出它
$ export PROJECT_DIR=/path/to/my/project
或者在其 virtualenv/virtualenvwrapper 脚本中定义。
在安装过程中,设置脚本将尝试从名为 package.json 的文件中检索所需的 node 版本,该文件也由 NPM 使用 [有关详细信息,请参阅其网站](https://npmjs.net.cn/doc/json.html))。
指定版本 0.10.0 的示例文件如下
{ "name": "my-project", "version": "0.0.1", "engines": { "node": "==0.10.0" } }
要使用的引擎版本是 virtual-node 将用于安装 node 的版本。 注意:您必须指定一个确切版本(使用 ==),否则版本将被忽略。
问题 & 贡献
如果您有任何问题,请在此处github项目上提出问题。
如果您想贡献,请将此存储库分支出来,并提交带有您更改的拉取请求。我将很高兴将其包含在内。
许可证
此包是在宽松的 新BSD许可证 下发布的。
变更日志
0.1.0
添加了使用 NODE_VERSION 环境变量指定 node 版本的功能。这使得定义要安装的 node 版本变得更加容易。
将默认的 node 版本更新为 0.10.26,这是撰写时的最新版本。
0.0.4
增加了严格的版本检查,以防止一些版本比较问题。
修复了当 PROJECT_DIR 未指定时 os.path.join 的问题。
0.0.3
取消了对命令 curl 和 tar 的调用,转而使用 Python 模块以确保在没有安装这些命令的机器上也能工作。
添加了对 package.json 文件的支持,以便指定自定义的 node 版本。这使得可以重新对齐 virtual-node 的版本与 Python 习惯。
0.0.2
增加了对现有 virtual-node 版本的检查。
修复了作为 setup.py 依赖项使用时的问题。
从使用 install 命令切换到 build 命令。
0.0.1
初始发布
项目详情
virtual-node-0.1.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b7cf1702b2479a403b13537270d5629e5d07211b30ba8ef7cde0336732a3a647 |
|
MD5 | b4d4d0f351f9d9963dfdcb0be3f58254 |
|
BLAKE2b-256 | daca598eb616dc9c5011c2f7e274be60f04556bb952730f36ec3641246d0e59c |