美文网首页
使用 nvm 管理 nodejs 版本的注意事项

使用 nvm 管理 nodejs 版本的注意事项

作者: RulerMike | 来源:发表于2020-12-03 16:54 被阅读0次
    在使用 nvm 对 nodejs 进行版本管理的时候常常会碰到全局变量切换不了等状况,我们来分析一下为什么和如何解决。
    不适用 nvm 使用 nodejs 的时候通常我们会设置两个目录
    npm config set prefix "node_globals"
    npm config set cache "node_cache" 
    

    用来设置 npm 全局安装的包和缓称文件地址,同时还会设置一个系统变量 NODE_PATH, 值为
    node_globals 目录地址。

    nvm 装 nodejs

    nvm 安装完成后会在系统变量建立两个变量 NVM_HOME 和 NVM_SYMLINK。
    当我们安装一个版本的 nodejs 并使用 nvm use 该版本的时候,会到 nvm 底下通过 setting.txt 下的 path 改变 node 的安装位置。

    root: D:\nvm
    path: D:\node12.0.0.js
    arch: 64 
    proxy: none
    node_mirror: http://npm.taobao.org/mirrors/node/
    npm_mirror: https://npm.taobao.org/mirrors/npm/
    

    由于 nvm 并不能帮我们切换环境变量,我们将 NVM_HOME 变量指向 nvm 安装目录,如("D:\nvm"),
    然后设置 NVM_SYMLINK 为 nvm 安装的 node 根目录,如:"D:/nvm/v14.0.0"。最后再添加一个 NPM_HOME 全局变量,添加到 PATH 里 NVM_HOME 和 NVM_SYMLINK 之前。该值为npm全局安装包的位置:"D:/nvm/v14.0.0/node_global"。

    nvm 安装完 node 之后会同时在 nvm 安装目录下生成 temp 目录,里面是对于该 node 版本的 npm 包管理工具,安装完 npm 后会消失。如果网络出现问题或安装中断,这时需要手动将该包解压并重命名为 npm 后放到 node 版本下的 node_modules 目录下,如果没有该 npm 包,该版本的 node 无法使用 npm 命令,另外在该 node 版本的目录下(如:D:/nvm/v14.0.0) 还需要 npm, npm.bat, npx 这三个文件,可以手动从其他 node 版本目录下拷贝进来。再次测试应该就可以。

    我们写一个 bat 文件来自动执行环境变量和 nvm 命令,注意需要将用户变量和系统变量都更改,因为 vscode 里使用的是用户变量。
    nvm.bat:

    cmd /c "setx /m NPM_HOME D:/nvm/v14.0.0/node_global & setx NPM_HOME D:/nvm/v14.0.0/node_global & setx /m NVM_SYMLINK D:/nvm/v14.0.0 & setx NVM_SYMLINK D:/nvm/v14.0.0 & nvm use 14.0.0 & npm config set prefix D:/nvm/v14.0.0/node_global & npm config set cache D:/nvm/v14.0.0/node_cache"
    

    其他版本的可以再依照上面再写一份,注意执行的时候使用管理员权限执行。

    相关文章

      网友评论

          本文标题:使用 nvm 管理 nodejs 版本的注意事项

          本文链接:https://www.haomeiwen.com/subject/isomwktx.html