9

使用nvm来管理Node版本

 3 years ago
source link: https://bubuzou.com/2020/03/26/nvm/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

使用nvm来管理Node版本

2020-03-26

使用 nvm 来管理 Node 版本

nvmNode.js 的版本管理工具,可以创建不同版本 Node 的隔离环境,从而避免不同版本包之间的干扰。官方 github

卸载全局安装的 Node

最近在做项目的时候,发现编译速度特别慢,而升级 Node 版本之后速度会明显提升。所以这才有使用 nvm 来管理 Node 的故事。

目前本地全局安装的 Node 版本是 9.11.1, 这个版本还是 18 年 4 月左右更新的,是相当的跟不上节奏了。这里可以查看 Node 历史版本

安装 nvm 之前最好是将现有的全局 Node 进行卸载,否则会发生冲突。

  1. 终端下查看 Node 的全局安装目录:

    ccp:~ ccp$ which node
    /usr/local/bin/node
  2. Mac 环境下全局的 Node 会被安装在 /usr/local/bin/ 目录下,接下来我们要打开这个目录;

  3. 打开访达,然后按下快捷键 ⇧ + ⌘ + G,输入上面的目录,即可打开对应的目录;

  4. 接下来依次检查并且删除这些目录下的 nodenode_modules 相关文件和文件夹:

    • /usr/local/lib
    • /usr/local/include
  5. 打开 /usr/local/bin 并删除 node 可执行文件;

  6. 如果你是使用的 brew install node 安装的 Node,那么你还需要在终端中执行 brew uninstall node 命令来卸载。

过程中,你可能还需要在终端中执行一些指令:

sudo rm /usr/local/bin/npm
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/lib/dtrace/node.d
sudo rm -rf ~/.npm
sudo rm -rf ~/.node-gyp
sudo rm /opt/local/bin/node
sudo rm /opt/local/include/node
sudo rm -rf /opt/local/lib/node_modules

至此,全局安装的 Node 才算卸载干净。

安装 nvm

  1. 在终端里执行如下脚本:

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

    然后在终端输入命令 command -v nvm,如果显示 nvm 则表示安装成功;否则如果显示 nvm: command not found,则需要做如下操作:

  2. .nvm 同级目录下创建 .bash_profile 文件,终端键入如下命令:

    touch ~/.bash_profile
  3. 把以下代码贴到上面的文件中:

    export NVM_DIR=~/.nvm
    source ~/.nvm/nvm.sh

nvm 安装后,可以用 nvm ls 来查看,如果会显示安装的 Node 版本列表,则显示安装成功。有了 nvm 后,在用 npm install xxx -g 进行全局安装的时候会把包安装对应版本的 Node 下,如果是 Mac 则目录 user/.nvm/versions/node/v12.16.1/bin 下可以看到对应的全局命令。

nvm 常用命令

  • nvm ls-remote 查看 Node 远程版本库
  • nvm install node 将安装最新版本的 Node
  • nvm install v12.7.0 将安装 12.7.0 版本的 Node
  • nvm uninstall v12.7.0 卸载 12.7.0 版本的 Node
  • nvm ls 查看已经安装的 Node 版本
  • nvm use v12.7.0 切换 12.7.0 为当前使用的版本
  • nvm alias default v12.7.012.7.0 设置为 Node 的默认版本
  • nvm which v12.7.0 查看 12.7.0 版本的 Node 的安装目录,比如:/Users/ccp/.nvm/versions/node/v12.7.0/bin/node
  • nvm --help 查看更多命令用法

其他相关命令

  • command -v nvm 查看 nvm 是否安装成功
  • node -v 查看当前使用的 Node 版本
  • which node 查看当前 Node 的安装目录
  1. 由于 Node 版本的升级,所以当编译项目的时候可能会报依赖包的错误,这个时候就需要升级依赖包,将项目的 node_modules 目录删了,重新执行 npm install
  2. 升级 Node 后,由于内存 2048M 的限制,编译项目的时候很有可能会报 JS stack trace 内存溢出的错误,这个时候可以用 increase-memory-limit 来解决。

Recommend

  • 13
    • help.dreamhost.com 3 years ago
    • Cache

    Installing a custom version of NVM and Node.js

    Installing a custom version of NVM and Node.js Overview This article walks you through installing Node.js using Node Version Manager (nvm) on a Shared, VPS or Dedicated Server....

  • 6

  • 6
    • blog.huangyafei.com 3 years ago
    • Cache

    通过 NVM 安装 Node.js 路径问题

    通过 NVM 安装 Node.js 路径问题通过 NVM 安装 Node.js 后,Node 的默认路径会与默认的 /usr/local/bin/node 不一致,导致在很多软件下找不到 Node 的路径。 今天实用 Sublime Text 安装 CSScomb 时就遇到了这个问题,查了一...

  • 10

    <?xml encoding="utf-8" ??>Introduction Node Version Manager (NVM) allows you to install and switch between different versions of Node.JS using the command line. This article explains how to inst...

  • 4
    • www.oschina.net 3 years ago
    • Cache

    Node.js 版本管理工具 nvm

    Node.js 版本管理工具 ...

  • 8
    • kenanbek.medium.com 3 years ago
    • Cache

    How To Upgrade NVM, NPM, Node, and NPX

    How To Upgrade NVM, NPM, Node, and NPXAs a “backender” in the world of ̶J̶a̶v̶a̶S̶c̶r̶i̶p̶t̶ frontend, I was looking for commands and options on keeping versions of core components consistent. That’s mainly about NVM, NPM,...

  • 10
    • blog.p2hp.com 2 years ago
    • Cache

    nvm安装的node在什么位置?

    nvm安装的node在什么位置? | Lenix Blog 2022年 7月 一 二

  • 4
    • blog.51cto.com 2 years ago
    • Cache

    Node.js的多版本管理工具之nvm

    (Node.js的多版本管理工具之nvm) nvm是node.js版本管理的实用程序,通常有些项目必须依赖不同版的 NodeJS 运行环境,此时nvm应运而生,用于管理node的版本以及能很方便的进行node版本的切换。 非Windows系统:https...

  • 6
    • www.kevinhooke.com 2 years ago
    • Cache

    Managing and switching node versions with nvm

    Managing and switching node versions with nvm If you’re working on multiple projects with different node versions, switching versions can get tricky.

  • 8

    什么是 Volta Volta 是一种管理 JavaScript 命令行工具的便捷方式。 volta 的特点: 无缝,每个项目的版本切换 跨平台支持,包括 Windows 和所有 Unix shell...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK