node 多版本控制

一.什么是nvm

 nvm 全称是node verion manager(node版本管理器),使用它可以方便的安装和维护多个node版本。

二、nvm安装

1.在线安装 安装或者升级 可以通过使用curl

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash

或者 Wget:

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

2.手动离线安装
其实跟上面的很类似,其实上面的安装方式,其实也是把nvm的代码直接通过git来到 ~/.nvm 目录上的。也就是说,它就是标准的git托管的目录。如果在没有网路的情况下,如果你手上巧好有nvm git上某个版本的代码,完全可以直接拷贝到~/.nvm 目录上,就可以使用了。如果更新的话也是一样的。

3.shell配置
以上步骤安装完成后,你还需要做shell命令的配置。在以下文件中写入这个代码。
(~/.bash_profile, ~/.zshrc, ~/.profile, or ~/.bashrc).


export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

4.测试

重新打开新的shell 窗口,查看 nvm -v 。如果能显示版本号,说明成功了。

三、nvm的基本使用

1.node 版本安装

nvm install node

2.node 制定版本安装

nvm install <version>

3.查看node 所以版本

nvm ls node 

注意如果看到有箭头指着的,或者星号(*)说明是当前正在使用版本

4.版本切换

nvm use <version>   

5.默认版本设置

nvm alias default <version> 

(注意:这个很重要,在每次重新打开新的shell窗口,nvm 都会将当前node版本指向默认设置版本)

6.nvm alias default <version>命令来指定一个默认的node版本

其他使用方式 可以移步到官网查看 https://github.com/creationix…

四、nvm 下node 版本 和 全局 npm模块

在nvm中不光是node命令,还有npm和通过npm安装的全局依赖模块都会安装到指定的版本目录中,不必担心互相影响。

注意:这跟 同样是 node包管理器的(n 模块)是不一样的,n模块虽然也可以方便的切换node的版本和
npm版本,但是对于全局模块上的管理,npm 安装的模块路径均为 /usr/local/lib/node_modules ,当使用 n 切换不同的 node 版本时,实际上会共用全局的 node/npm 目录。 因此不能很好的满足『按不同 node 版本使用不同全局 node 模块』的需求。

五、使用 .nvmrc 文件配置项目所使用的 node 版本

如果你的默认 node 版本(通过 nvm alias 命令设置的)与项目所需的版本不同,则可在项目根目录或其任意父级目录中创建 .nvmrc 文件,在文件中指定使用的 node 版本号(假如需要的版本是v6.4.0 ,那文件直接写v.6.4.0就好了),例如:

cd <项目根目录>  #进入项目根目录
echo 4 > .nvmrc #添加 .nvmrc 文件
nvm use #无需指定版本号,会自动使用 .nvmrc 文件中配置的版本
node -v #查看 node 是否切换为对应版本

使用.nvmrc文件,就算在一个服务器上有多个不同node版本的项目,也可以进行独立的开发和维护工作。

补充说明:Mac 下通过 brew install nvm 所安装的 nvm ,由于安装路径不同,无法正确启用。建议使用 brew uninstall nvm 卸载掉之后,通过本文的方案重新安装一次。

    原文作者:lyf87
    原文地址: https://segmentfault.com/a/1190000010252661
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞