Node.js的3m安装法
Node.js的3m安装法

Node.js的3m安装法

3m安装法是安装Node.js的最佳实践

  • nvm(node version manager):解决多版本共存、切换、测试等问题。
  • npm(node package manager):解决Node.js模块安装问题,Node.js会内置npm。
  • nrm(node registry manager):解决npm镜像访问慢的问题,提供测速、切换下载源(registry)功能。

一. nvm

Node Version Manager – Simple bash script to manage multiple active node.js version.

nvm是开源的Node.js版本管理器,通过简单的shell脚本来管理和切换多个Node.js版本,与之功能类似的有n、nvs。

  1. 随意切换需要安装的Node.js版本
  2. 免除安装权限(Node.js被安装在用户目录下)
  3. npm安装全局模块时,避免超级用户授权问题

安装nvm

nvm是shell脚本,直接cURL或者Wget下载安装即可:

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

添加区块

nvm仓库将被克隆到~/.nvm目录。

添加环境变量到你使用的shell配置文件中即可,可能是~/.bashrc,~/.bash_profile,~/.zshrc或者什么,你清楚的:

export NVM_DIR="$HOME/.nvm"
[ -s "/usr/local/opt/nvm/nvm.sh" ] && . "/usr/local/opt/nvm/nvm.sh" # This loads nvm
[ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && . "/usr/local/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion

记得source一下使环境变量生效:

source ~/.zshrc
nvm --version 查看nvm版本号

nvm ls-remote 查看远程版本

nvm install 15.1.0 安装指定版本Node.js

nvm alias default node 指定系统默认的Node.js版本 可以用node -v 在任何终端内任意目录检查下node版本

nvm install 8.17.0 安装Node.js 8.x版本, nvm use 8切换到8.x版本

nvm ls 查看本机版本

nvm reinstall-packages 15 一键安装全局模块(有温度的操作) 将本机v15.x版本下的全局npm包一键安装到当前的v8.x仓库中

小帖士:Node.js一般奇数版本都是尝试性的,包含最新特性。而偶数版本都是稳定版本(LTS),可用于生产环境

更多细节请查看nvm官方文档

二. npm

npm是Node.js的包管理器,它的主要功能是管理Node.js包,包括安装、更新、卸载、搜索、发布等。npm是目前开源世界里最大、生态最健全的包管理器,目前已有140万+个模块及1600+万个模块版本。

安装Node.js时,npm会自动安装好,使用npm -v查看npm版本。

  • npm v2:树形依赖,层次深,依赖重叠。
  • npm v3:扁平化依赖,依赖移到了顶层,同一模块多版本依赖时依然使用v2模式。
  • npm v5:自动记录依赖树,下载使用强校验,重写缓存系统,新增package-lock.json文件来记录和锁定依赖树信息,与Yarn类似。
命令参数简写说明
npm install安装本地模块,但不保存到package.json
npm install –save-prod-P安装本地模块,保存到package.json的dependencies
npm install –save-dev-D安装本地模块,保存到package.json的devDependencies
npm install –global-g安装全局模块
npm常用命令

三. nrm

nrm致力于解决源切换的问题,它可以帮助我们快速的在不同的npm之间进行切换,内置了很多常用的源,包括npm、cnmp、taobao等。可以通过nrm add来添加自己的源。PS:后续考虑写一篇搭建企业私有npm仓库指南

npm install --global nrm 安装nrm

nrm test 测速

nrm ls 查看npm源列表

nrm use taobao 切换npm源

nrm add companyname http://registry.npm.companyname.com/ 添加自定义npm源

发表评论

邮箱地址不会被公开。