最近因为在做vue项目,做的过程中顺便学习了node的版本管理器nvm,感觉很有意思,可以去切换我们所需要的版本,整个过程高效方便。闲话少说,记录一下最近遇到问题方便以后回顾。
nvm-windows下载地址:https://github.com/coreybutler/nvm-windows/releases
我们可以去下载最新版的 nvm-noinstall.zip(免安装版)
在这里建议大家下载最新版本,1.1.6之前的版本在操作node下载npm 9.0以上版本的时候 npm下载包一直为空,需要手动到node官网去导入对应的npm包。1.1.7版本已不存在之类问题。
大家可以在C盘根目录建一个文件夹:dev,
在dev中新建目录 nvm,将刚才下载好的nvm-noinstall.zip解压后的文件放进 nvm文件夹中。此时nvm文件夹中应是:
双击 install.cmd 然后会让你输入”压缩文件解压或拷贝到的一个绝对路径” 先不用管它,一路直接回车,成功后,会在C盘的根目录生成一个settings.txt的文本文件,把这个文件剪切到C:\dev\nvm目录中,然后我们把它的内容修改成这样:
root: C:\dev\nvm path: C:\dev\nodejs arch: 64 proxy: none node_mirror: http://npm.taobao.org/mirrors/node/ npm_mirror: https://npm.taobao.org/mirrors/npm/
然后我们开始配置环境变量了,因为刚刚点击了install.cmd的文件,那么会在环境变量的系统变量中,生成两个环境变量:NVM_HOME 和 NVM_SYMLINK 我们开始修改这两个变量名的变量值:NVM_HOME的变量值为:C:\dev\nvm; NVM_SYMLINK的变量值为:C:\dev\nodejs
我们还会发现,在Path中也会自动添加上C:\dev\nvm;或者是C:\dev\nodejs,如果有的话,把他们删掉,没有的话更好,我们自己来配置,在Path的最前面输入: ;%NVM_HOME%;%NVM_SYMLINK%;
打开一个cmd窗口输入命令:nvm v ,那么我们会看到当前nvm的版本信息。然后我们可以安装nodejs了。
继续输入命令:nvm install latest 如果网络畅通,我们会看到正在下载的提示,下载完成后 会让你use那个最新的node版本。
如果你是第一次下载,在use之前,C:\dev目录下是没有nodejs这个文件夹的,在输入比如: nvm use 5.11.0 之后,你会发现,C:\dev目录下多了一个nodejs文件夹,这个文件夹不是单纯的文件夹,它是一个快捷方式,指向了 C:\dev\nvm 里的 v5.11.0 文件夹。
同样的咱们可以下载其他版本的nodejs,这样通过命令:nvm use 版本号 比如:nvm use 5.11.0就可以轻松实现版本切换了。
备注: 如果你的电脑系统是32 位的,那么在下载nodejs版本的时候,一定要指明 32 如: nvm install 5.11.0 32 这样在32位的电脑系统中,才可以使用,默认是64位的。
npm下载
首先我们进入命令模式,输入 npm config set prefix "C:\dev\nvm\npm" 回车,这是在配置npm的全局安装路径,然后在用户文件夹下会生成一个.npmrc的文件,用记事本打开后可以看到如下内容:
prefix=C:\dev\nvm\npm
然后继续在命令中输入: npm install npm -g 回车后会发现正在下载npm包,在C:\dev\nvm\npm目录中可以看到下载中的文件,以后我们只要用npm安装包的时候加上 -g 就可以把包安装在我们刚刚配置的全局路径下了。
我们为这个npm配置环境变量: 变量名为:NPM_HOME,变量值为 :C:\dev\nvm\npm
在Path的最前面添加;%NPM_HOME%,注意了,这个一定要添加在 %NVM_SYMLINK%之前,所以我们直接把它放到Path的最前面
最后我们新打开一个命令窗口,输入npm -v ,此时我们使用的就是我们统一下载的npm包了。
同样的我们还可以安装cnpm工具,它是中国版的npm镜像库,地址在这里:https://cnpmjs.org/,也是npm官方的一个拷贝,因为我们和外界有一堵墙隔着,所以用这个国内的比较快,淘宝也弄了一个和npm一样的镜像库,http://npm.taobao.org/,它和官方的npm每隔10分钟同步一次。安装方式:
npm install -g cnpm --registry=http://r.cnpmjs.org
或者用淘宝的npm install -g cnpm --registry=https://registry.npm.taobao.org
安装好了cnpm后,直接执行cnpm install 包名比如:cnpm install bower -g 就可以了。-g只是为了把包安装在全局路径下。如果不全局安装,也可以在当前目录中安装,不用-g就可以了。
注意事项
(1) 加入nvm install 6.9.0 版本以后一定要记得立马执行 nvm use 6.9.0 这样才会生效
(2) nvm use 无效,nvm use 后执行nvm ls,当前使用的版本前会有 * 标注,可是nvm use 所有版本前都没有*,回顾一下操作,终于发现问题所在,我当前使用的版本是 6.9.0,我现在nvm install 或手动删除 6.9.0版本后就会发生这种情况,nodejs默认安装目录根本没有安装相对应的node版本。
解决方法,根据以上的安装流程应该删除当前dev 目录下 nodejs目录,重新执行一下 nvm use xxx当前存在的版本,此时会发现dev目录下自动生成 nodejs目录下也已经生成对应的node 版本。因此,删除当前正在使用的 node版本前 一定要记得 切换个版本在进行删除。以上都为自己的理解,如有不对的地方请指教。