node中nvm的安装-采坑集合

一. nvm是什么

Node版本的迭代速度很快,版本很多,不同项目对 node的依赖不同,故需要切换不同node版本

目前有n和nvm这两个工具可以对Node进行无痛升级,n 命令是作为一个 node 的模块而存在,而 nvm 是一个独立于 node/npm 的外部 shell 脚本,因此 nvm 命令相比 n更加全面,n更有局限性。

nvm 是 Mac 下的 node 管理工具,有点类似管理 Ruby 的 rvm,如果是需要管理 Windows 下的 node,官方推荐是使用 nvmwnvm-windows

我按nvm提供的文档来完成nvm及node多个版本的安装,因为在安装过程中遇到不少坑,特在此总结安装中遇到的各种坑

二. 下载安装与使用

<1> nvm 下载

nvm-windows下载地址:nvm-windows
选择第一个 nvm-noinstall.zip ,然后解压在系统盘(建议放D盘)。我放的目录路径是D:\NodeNVM\nvm。解压出来的文件有:

 +  elevate.cmd
 +  elevate.vbs
 +  install.cmd
 +  LICENSE
 +  nvm.exe

备注:windows下要设置显示文件类型的扩展名,这样才能看到上述文件的后缀

<2> nvm 安装

双击 install.cmd ,是以控制台形式显示的,第一下直接按回车,然后会在d盘根目录产生settings.txt,把这个文件放进刚刚解压的那个目录,然后修改settings.txt内容,改成如下:

root: D:\NodeNVM\nvm 
path: D:\NodeNVM\nodejs 
arch: 64 
proxy: none

倘若上面方法行不通,因为打开 install.cmd按下回车后,显示拒绝访问注册表路径,并弹出一个settings.txt。此时关掉控制台及文本,在D:\NodeNVM\nvm目录里新建一个文件settings.txt,然后复制上面的内容即可。

root : nvm的存放地址
path : 存放指向node版本的快捷方式,使用nvm的过程中会自动生成。一般写的时候与nvm同级。
arch : 电脑系统是64位就写64,32位就写32
proxy : 代理

<3> nvm 环境变量配置

  1. 以控制台方法执行成功的,在环境变量里会自动配置了 NVM_HOME 和 NVM_SYMLINK 。

  2. 直接创建settings文件的可以在环境变量里创建 NVM_HOME 和 NVM_SYMLINK,并添加路径。

若环境变量配置有问题,可以直接按下面两种方式来手动配置

第一种:右键单击 我的电脑 - 属性 - 高级系统设置 - 高级 -环境变量 - 系统变量 中新建,输入对应变量名,变量值即可

NVM_HOME: D:\NodeNVM\nvm
NVM_SYMLINK :D:\NodeNVM\nodejs 

第二种:windows+r 弹出输入框后,输入: sysdm.cpl,同第一种 高级 以后的操作(步骤稍微简单一点点)

最后在上面的用户变量中的PATH里加上

;%NVM_HOME%;%NVM_SYMLINK%;。

<4> nvm基本操作

打开cmd窗口输入命令:nvm -v ,查看当前nvm的版本信息。

  • nvm install latest // 下载最新的 node 版本 v7.2.0
  • nvm install 8.5.0// 安装不同版本
  • nvm install 6.11.3 32 // 默认是64位,32位需指定

备注: 如果你的电脑系统是32 位的,那么在下载nodejs版本的时候,一定要指明 32 如: nvm install 5.11.0 32 这样在32位的电脑系统中,才可以使用,默认是64位的。

  • nvm uninstall 6.11.0 #卸载对应的版本
  • nvm use 8.5.0 // 引入使用
  • nvm list // 查看已安装的 node 版本
  • nvm ls available//列出远程服务器上所有的可用版本
    8.5.0
    8.0.0
  * 6.11.3 (Currently using 64-bit executable)
*表示当前正在使用的node版本号

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

<5> 安装node

第一个坑:安装过node版本的,先卸载了在开始看现在的安装流程。

第一种方式:
使用命令行下载,直接输入:nvm install [版本号]

nvm install 6.11.0

要下载最新版的可以直接输nvm install latest
下载完成后,在控制台输入:nvm use [版本号]

nvm use 6.11.3
//下面会显示如下内容
Now using node v6.11.3 (64-bit)

//查看node版本是否是自己需要的
node -v
//显示当面使用版本号即表示毛病了
v6.11.3

第二种方式:
直接上官网下载所需安装包

第二个坑:刚开始我是用命令行的方式安装的node所需版本,但是安装的node启动项目一直有问题,后同事告知命令行下载的版本很可能丢失文件,导致各种奇怪的问题,直接去官网下载安装包按下面操作流程即可。

  • 1.下载安装包之后,将文件解压到D:\NodeNVM\nvm中
  • 2.重命名,按原文件名更改为如下所示即可(严格按如下方式更改名字)
//原文件名 => 新文件名
node-v8.0.0-win-x64 => v8.0.0

所需要node下载完成后,按上面方式查看、切换版本

如果你是第一次下载,在use之前,D:\NodeNVM目录下是没有nodejs这个文件夹的,在输入比如: nvm use 6.11.3 之后,你会发现,D:\NodeNVM目录下多了一个nodejs文件夹,这个文件夹不是单纯的文件夹,它是一个快捷方式,指向了 D:\NodeNVM\nvm 里的 v6.11.3 文件夹。

同样的咱们可以下载其他版本的nodejs,这样通过命令:nvm use 版本号 比如:nvm use 5.11.0就可以轻松实现版本切换了。

注意:切换不同的node版本以后,用管理员身份打开命令行,运行npm -g -d i windows-build-tools,以解决window中某些不能用的命令的问题

二. 安装 cnpm

因为npm安装插件是从国外服务器下载,受网络影响大,可能出现异常,所以可以使用淘宝开发的淘宝NPM镜像,同步频率目前为 10分钟 一次。

<1> 通过 config 配置指向国内镜像源

npm config set registry http://registry.cnpmjs.org //配置指向源
npm info express  //下载安装第三方包

<2> 通过 npm 命令指定下载源

npm --registry http://registry.cnpmjs.org info express

<3> 在配置文件 ~/.npmrc 文件写入源地址

nano ~/.npmrc   //打开配置文件
registry =https://registry.npm.taobao.org   //写入配置文件
npm install -g cnpm --registry=https://registry.npm.taobao.org
npm install -g cnpm --registry=http://r.cnpmjs.org

三.使用node启动项目

npm i (npm install 的简写)安装依赖时候,后面加上 -d可以看到文件安装进程和状态
若安装文件中出现状态304且报错,直接去D:\NodeNVM\npm-cache中,将缓存文件全部删除

第三个坑:第三个坑与nvm无关,是在查找资料时候我习惯打开蓝灯,但是蓝灯会修改电脑上的一些配置,导致关机重启后,无法顺利连上网。所以用蓝灯的用户,记得开机后启动蓝灯。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容