• 【Nodejs】使用 nvm 管理不同版本的 node 与 npm,与nodjs安装方法


    在我们的日常开发中经常会遇到这种情况:手上有好几个项目,每个项目的需求不同,进而不同项目必须依赖不同版的 NodeJS 运行环境。如果没有一个合适的工具,这个问题将非常棘手。

    nvm 应运而生,nvm 是 Mac 下的 node 管理工具,有点类似管理 Ruby 的 rvm,如果需要管理 Windows 下的 node,官方推荐使用 nvmw 或 nvm-windows。不过,nvm-windows 并不是 nvm 的简单移植,他们也没有任何关系。但下面介绍的所有命令,都可以在 nvm-windows 中运行。


    这里只提供window安装方法,其他系统请参考原文,这里是对安装方法的一些总结和经验,欢迎参考

    简而言之,使用nvm可以切换不同node和npm版本,更多nvm方法在最底部

    第一步

    首先最重要的是:一定要卸载已安装的 NodeJS,否则会发生冲突。

    首先打开nodejs所在目录,找到卸载文件文件双击中卸载即可,卸载后把没有卸载掉的文件进行删除,

    打开系统设置删除环境变量,点击确定-确定。(我这里演示,所以最后点了取消)

    然后下载 nvm-windows 最新安装包,

    下载nvm-setup.zip直接安装即可。

    第二步

    安装nvm的时候会让你选择两个安装路径,第一个是nvm的安装目录,也就是根目录,第二个是nodejs版本的目录,

    这里我都选择安装在了D盘

    第三步

    安装完成后打开cmd控制台,

    (nodejs版本会持续更新,所以大家可以进入官网查看版本号,或者通过命令 nvm ls available 查看最新nodejs版本  )

    通过以下命令进行安装

    nvm install 10.16.2 

    卸载为nvm uninstall 10.16.2

    如果安装失败可以切换成淘宝源

    进入nvm安装目录,修改settings.txt的内容为:

    root: D:\nvm
    path: D:\nodejs
    arch: 64
    proxy: none
    node_mirror: http://npmmirror.com/mirrors/node/
    npm_mirror: https://npmmirror.com/mirrors/npm/

     这里已经安装过了,所以直接显示already installed

    此时就可以进行切换nodejs版本了,

    如我现在是10.16.2    要切换到12.8.0,代码如下

    nvm use 12.8.0
    

     如果执行use失败报错exit status 1:乱码,则需要以管理员身份运行cmd

    第四步

    并不是说NodeJS和NPM安装好了以后就能直接使用了,这也是新手经常犯的一个错误之一。

    因为默认情况下,NPM安装的模块并不会安装到NodeJS的程序目录,比如上面安装的时候我们设置的D:\nodejs\目录,

    而是直接安装到了C:\Users\Administrator目录下

    这里我们要分两步,第一步修改NPM的缓存目录和全局目录路径,将对应的模块目录改到D盘nodejs的安装目录,第二步是配置npm和nodejs的环境变量,这样nodejs才能正确地调用对应的模块。

    我们先来做第一步,在D盘nodejs目录下创建两个目录,分别是node_cache和node_global,这是用来放安装过程的缓存文件以及最终的模块配置位置。配置完成后,执行下面这两个命令:

    npm config set prefix "D:\nodejs\node_global"
    
    npm config set cache "D:\nodejs\node_cache"

    (如果配置后不想默认安装到这个位置,可以在c盘全局搜索 .npmrc 文件,把这个代码删除即可)

    将npm的全局模块目录和缓存目录配置到我们刚才创建的那两个目录:

     

    然后我们打开cmd命令行界面,在使用命令安装刚才的cluster模块,命令如下:

    npm install cluster -g

    然后打开刚才创建的node_global目录,可以看到此时cluster目录就安装到这个目录底下了。

    第五步(可选)

    安装全局npm(如果想要npm版本随着node版本切换的话,这一步可以跳过。建议跳过,以后需要再来配置)

    安装node的时候,npm其实也已经一起安装了。因为nvm可以管理多个版本的node,如果每次添加一个node版本都要安装一堆的包很麻烦,如果有一个npm可以让各个版本的node共用,就不会这么麻烦了,这就是为什么我们要配置一个全局的npm的原因。简单的三步就可以配置一个全局的npm

    1.  npm config set prefix "D:\nvm\npm"//配置用npm下载包时全局安装的包路径
    2.  npm install npm -g --registry=https://registry.npm.taobao.org //安装全局npm,不同的node都使用这个npm,想更新全局的npm的话首先删除全局路径(就是上一行命令的地址,可以使用npm config ls查看)下的npm,再执行一次这个命令即可
    3.  在用户变量中添加 NPM_HOME=D:\nvm\npm,path中添加%NPM-HOME%

    第六步

    然后我们来配置npm的环境变量和nodejs的环境变量。在计算机图标上点右键,选属性,然后点击高级系统配置,

    弹出来的新窗口右下角有个环境路径,点击去,就能看到环境路径的配置界面,我们点击新建。然后在弹出来的窗口里,

    变量名填:NODE_PATH

    变量值填:D:\nodejs\node_modules\

    填写好后点确定,然后就能看到我们配置好的NPM环境路径。

    此时还需要修改一些nodejs默认的模块调用路径,因为模块的安装位置变了,如果nodejs的命令还到原来的位置去找,肯定是找不到安装的模块了。

    在Path环境点击编辑,在里面新增一条变量值

    变量名填:Path

    变量值填:D:\nodejs\node_global

    然后点确定,保存这个配置。

    这个时候所有的配置工作才算完成了,然后打开一个新的cmd窗口。先输入命令:

    node

    进入nodejs的交互式命令控制台,然后输入:

    require('cluster')

    如果能正常输出cluster模块的信息,说明上面的所有配置就算生效了。

     第七步(可选)

    使用nrm配置多个npm地址,设置淘宝源增加包的下载速度

    nrm安装与配置:https://www.jianshu.com/p/94d084ce6834

    至此,nodejs和npm在windows上的配置就全部完毕。

  • 相关阅读:
    检查使用的端口
    time is always agains us
    检查使用的端口
    dreque问题一例
    查看重定向的输出
    安装VSS时,Um.dat may be corrupt
    修改网卡ip
    redis install on ubuntu/debian
    上火了
    学这么多技术是为什么
  • 原文地址:https://www.cnblogs.com/lovecode3000/p/11352824.html
Copyright © 2020-2023  润新知