nodejs的版本控制

举报
多米诺的古牌 发表于 2021/04/26 10:02:03 2021/04/26
【摘要】 由于不同项目开发的时间的不同,所使用的的node版本的不同,经常会出现各种各样的神奇报错情况,而不断卸载重新安装node又显示很麻烦繁琐,这时候出现了nvm这个node管理工具1 下载安装git下载地址:https://gitforwindows.org/2 windows安装nvmw2.1 在cmd下运行 Git clone git://github.com/hakobera/nvmw.g...

由于不同项目开发的时间的不同,所使用的的node版本的不同,经常会出现各种各样的神奇报错情况,而不断卸载重新安装node又显示很麻烦繁琐,这时候出现了nvm这个node管理工具

1 下载安装git

下载地址:https://gitforwindows.org/

2 windows安装nvmw

2.1 在cmd下运行 

Git clone git://github.com/hakobera/nvmw.git "%HOMEDRIVE%%HOMEPATH%.nvmw"

2.2 会生成一个文件夹.nvmw文件

2.3 打开将 C:\Users\Administrator.nvmw(根据每个人的路径填写)手动添加到环境变量

2.4 打开命令行终端(快捷键:Windows+r,进入cmd)

输入命令 nvmw 查看是否配置成功,注意这里输入命令的时候,必须得重启你的命令行终端,否则是不会生效的,下图显示的就是配置成功的输出了

nvmw

2.5 修改源代码

虽然是安装成功了,但是因为是国内,所有还需要手动配置几个.nvmw下的文件

fget.js文件47行,XMLHTTP 改为ServerXMLHTTP

nvmw.bat文件137行 : x64改为win-x64 

22行:

if not defined NVMW_NODEJS_ORG_MIRROR (
 set "NVMW_NODEJS_ORG_MIRROR=https://nodejs.org/dist"
)

if not defined NVMW_IOJS_ORG_MIRROR (
 set "NVMW_IOJS_ORG_MIRROR=https://iojs.org/dist"
)
-------------------------------改为-------------------------------------------
if not defined NVMW_NODEJS_ORG_MIRROR (
 set "NVMW_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/node"
)

if not defined NVMW_IOJS_ORG_MIRROR (
 set "NVMW_IOJS_ORG_MIRROR=http://npm.taobao.org/mirrors/iojs"
)

get_npm.js文件 第8行

var NVMW_NPM_MIRROR = process.env.NVMW_NPM_MIRROR || 'https://github.com/npm/npm/archive';
----------------------------------改为--------------------------------------
var NVMW_NPM_MIRROR = process.env.NVMW_NPM_MIRROR || 'http://npm.taobao.org/mirrors/npm';

第44行-51行改为

 var pkgUri = "https://npm.taobao.org/mirrors/node/index.json";
  wget(pkgUri, function (filename, pkg) {
    if (filename === null) {
      return noNpmAndExit();
    }
    var _pkg = JSON.parse(pkg);
    for(var i = 0,n=_pkg.length;i<n;i++){
        var obj = _pkg[i];
        if(obj.version == binVersion){
            downloadNpmZip(obj.npm);
        }
    }
  })

2.6 上面的文件修改成功之后重启你的命令行终端,在命令行中可以依次输入下面的命令
//查看是否可以运行 nvmw 
nvmw 
//查看已安装的包  这里如果是第一次查看是什么都没有的主要是为了与安装后的作比较 
nvmw ls 
//安装任意版本的 node  安装时间会有一点的久,注意:安装之后默认的使用的就是你安装的这个版本了 
nvmw install v4.8.6 
//安装之后再次查看已安装的包 这时会发现有了 4.8.6 的包
nvmw  ls 
//查看 node 版本,会发现已经是 v4.8.6 了 证明成功了 
node -v

2.7 nvmw 的一些基础的命令
//安装某个版本

nvmw install v0.10.20
//卸载某个版本
nvmw uninstall v0.10.20
//使用某个版本,前提是你使用的这个版本已安装
nvmw use v0.10.20
//查看所有的你已安装的版本包
nvmw ls

3 Linux安装nvm

与 Windows 不同,我们并不一定要先卸载原有的 NodeJS。当然我们推荐还是先卸载掉比较好。另外,你还需要 C++ 编译器,Linux 发行版一般不用担心,像 Ubuntu 都可以直接用 build-essential 套件,OS X 的话,可以用 X-Code 的命令行工具。运行这个命令即可:

xcode-select --install
sudo apt-get install build-essential
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash

或者

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash

从远程下载 install.sh 脚本并执行。注意这个版本年数字 v0.33.0 会随着项目开发而变化。随时通过官方最新安装命令来检查最新安装版本是有好处的。


安装多版本 node/npm

例如,我们要安装4.2.2版本,可以用如下命令:

nvm install 4.2.2

nvm 遵守语义化版本命名规则。例如,你想安装最新的 4.2 系列的最新的一个版本的话,可以运行:

nvm install 4.2

nvm 会寻找 4.2.x 中最高的版本来安装。

你可以通过以下命令来列出远程服务器上所有的可用版本:

nvm ls-remote

Windows 的话,就是:

nvm ls available

在不同版本间切换

每当我们安装了一个新版本 Node 后,全局环境会自动把这个新版本设置为默认。

nvm 提供了 nvm use 命令。这个命令的使用方法和 install 命令类似。

例如,切换到 4.2.2

nvm use 4.2.2

切换到最新的 4.2.x

nvm use 4.2

切换到 iojs:

nvm use iojs-v3.2.0

切换到最新版:

nvm use node

每次执行切换的时候,系统都会把 node 的可执行文件链接放到特定版本的文件上。

我们还可以用 nvm 给不同的版本号设置别名:

nvm alias awesome-version 4.2.2

我们给 4.2.2 这个版本号起了一个名字叫做 awesome-version,然后我们可以运行:

nvm use awesome-version

下面这个命令可以取消别名:

nvm unalias awesome-version

另外,你还可以设置 default 这个特殊别名:

nvm alias default node

列出已安装实例

nvm ls
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。