windows下运行多个版本node.js

  这段时间,一直在处理一个问题。node.js调用dll(c++),用到了ffi,ref,ref-struct模块,在node v0.10.22版本下运行正常,但高版本node下会出错(经测试,0.12.x往上就不好使了): 

Error: The specified procedure could not be found.

  高版本node下重新编译ffi等模块也均告失败,会报出一大堆语法错误之后:

gyp ERR! build error
gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe` failed with exit c
ode: 1
gyp ERR! stack     at ChildProcess.onExit (E:\tools\nvmw\v5.5.0\node_modules\node-gyp\lib\build.js:2
76:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "E:\\tools\\nvmw\\v5.5.0\\node.exe" "E:\\tools\\nvmw\\v5.5.0\\node_modules\\node-gy
p\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd D:\phpStudy\WWW\res2\badaling\client\ticketStorage\node_modules\ffi
gyp ERR! node -v v5.3.0
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok

  万般无奈之下,想到同时运行两个不同版本的node.js。于是用到了nvmw。

  nvmw下载地址:http://pan.baidu.com/s/1xdmf3, 直接解压缩就行,比如解压到D:\nvmw文件夹中,将D:\nvmw\nvmw.bat添加到系统环境变量中,以便可以到处运行nvmw命令。

  然而问题又来了,nvmw用法如下:

Usage:
  nvmw help                    Show this message
  nvmw install [version]       Download and install a [version]
  nvmw uninstall [version]     Uninstall a [version]
  nvmw use [version]           Modify PATH to use [version]
  nvmw ls                      List installed versions

Example:
  nvmw install v0.6.0          Install a specific version number
  nvmw use v0.6.0              Use the specific version

  但是运行安装命令时,由于国外源的问题,一直安装失败,我换了淘宝的源后也是一直失败。但是,根源无非是得到不同版本的node.exe。我们可以在淘宝源路径上(https://npm.taobao.org/mirrors/node/)手动下载对应版本的node.exe,然后放到D:\nvmw文件夹中,不同版本文件夹。

nvmw
    v0.10.22
        node.exe
    v5.3.0
        node.exe

  如上安装了两个版本的node,运行nvmw ls:

C:\Users\Administrator>nvmw ls
v0.10.22
v5.3.0
Current: none

  然后就可以按nvmw命令正常使用了,至此就可以在一台电脑上跑多个node.js版本的程序了!

  ps:用以上模块调dll难免会遇到各种各样的问题,毕竟是第三方模块,作者如果后期不进行维护,很难保证在新版本node上好使。nodejs调用dll动态库还可以通过写addon来实现,但是所调用的dll涉及到结构体,较难处理,以及本人c++水平有限,还是没能深入研究。

时间: 2024-10-25 02:45:13

windows下运行多个版本node.js的相关文章

在windows环境下基于sublime text3的node.js开发环境搭建

首先安装sublime text3,百度一堆,自己找吧.理论上sublime text2应该也可以.我只能说一句:这个软件实在是太强悍了. 跨平台,丰富的插件体系,加上插件基本上就是一个强悍的ide了.目前我在使用的主要是Emmet.Python.还有一些格式化的插件(xml,json),加上这次安装的node.js. node.js的安装就不用多说了,直接http://nodejs.org/ 点击install下载window版本的安装程序后安装即可.默认的安装会将安装目录加到path环境变量

解决最近windows版本Node.js中npm出现的“Error: ENOENT, stat 'C:\Users\UserName\AppData\Roaming\npm”的问题

(转载请注明出处,from www.cnblogs.com/xdxer) 问题可能如下所示 解决方案: 在 'C:\Users\UserName\AppData\Roaming\‘ 下手动的增加一个文件夹npm . 然后问题就解决了. 解决最近windows版本Node.js中npm出现的"Error: ENOENT, stat 'C:\Users\UserName\AppData\Roaming\npm"的问题

Windows下运行Hadoop

Windows下运行Hadoop,通常有两种方式:一种是用VM方式安装一个Linux操作系统,这样基本可以实现全Linux环境的Hadoop运行:另一种是通过Cygwin模拟Linux环境.后者的好处是使用比较方便,安装过程也简单.在这里咱们就来看看第二种方案:如何再Windows下快速安装一个Hadoop环境,并结合Eclipse开发环境研究和调整Hadoop代码. 整个安装过程包括以下三大步骤: 安装和配置Cygwin(http://cygwin.com/install.html) 安装和配

Linux CentOS6系统安装最新版本Node.js环境及相关文件配置

Node.js,当前应用非常广泛的Javascript运行环境,采用C++编写的,目前应用较多的用于WEB应用中,执行效率还是非常高的,虽然老左不从业程序的开发,但是有些时候在玩VPS的时候还是会遇到使用Node.JS环境基础的,比如这几天在玩HEXO轻博客程序的搭建有用到Nodejs环境配置,这不正好把基于CentOS6系统的配置记录下来. 因为,我们常用默认的CentOS系统中自带的Nodejs源版本比较低,有些时候兼容不是太好,所以,我们在安装和配置Node.js环境的时候还是直接手工安装

在Windows下安装多个版本的Python

我們先假設使用者,已經在 python 官方網站下載各版本的 Windows Installer 並安裝在預設路徑下: python 2.6:C:\Python26 python 2.7:C:\Python27 python 3.2:C:\Python32 我們希望在 command line 輸入 python26 就是執行 C:\Python26\python.exe:輸入 python32 就是執行 C:\Python32\python.exe 那麼可以利用 Windows 內建的 Dos

windows下MySQL5.6以上版本,如何通过修改配置文件来修改数据库的最大连接数啊?

并没有my.ini文件,只有一个my-default.ini文件,并且里面并没有max_connections windows下MySQL5.6以上版本,如何通过修改配置文件来修改数据库的最大连接数啊? >> mysql 这个答案描述的挺清楚的:http://www.goodpm.net/postreply/mysql/1010000007441196/windows下MySQL56以上版本如何通过修改配置文件来修改数据库的最大连接数啊.html

阿里云ECS安装最新版本Node.js

原文  http://www.w3ctech.com/topic/1610 主题 Node.js操作系统服务器 我的ECS实例是Ubuntu操作系统,直接使用 apt-get install nodejs 安装的是比较老的版本.我们可以直接使用源码编译安装. 一. 下载Node.js安装包 点击进入下载地址 ,注意这个地址需要FQ. 该源码包地址: https://nodejs.org/dist/v4.2.2/node-v4.2.2.tar.gz 1. 使用wget命令下载 # 进入src目录

windows下 php、apache 版本选择 解惑说明

每次安装php开发环境的时候总是得或多或少困惑一阵,今天来梳理一下apache,php之间的关系(根据http://www.ituring.com.cn/article/128439整理,添加.) 1.apache和php都是由visual studio编译. 因此我们经常会遇到选择VC6/VC9/VC11的困惑.PHP官方不建议在Windows下安装从apache.org网站下载的Apache二进制安装包.原因就是这些安装包是基于陈旧的Visual Studio 6编译的,导致你不得不必须使用

windows下python2.7.14版本的安装

本文主要对window下如何安装Python进行图解说明 步骤一.从官网下载相应的版本(本文以2.7.14为例),https://www.python.org/downloads/release/python-2714/ 步骤二.下载完成后,按照普通window上的软件直接进行一步一步的安装即可 步骤三.安装完成后,配置环境变量 操作步骤:右击 我的电脑/此电脑 --> 属性 --> 高级系统设置 --> 高级选项卡(默认)--> 环境变量 --> 系统环境变量下的 Path