跳转至

Node.JS

安装

参考:https://nodejs.org/en/download/package-manager

  • Windows

直接安装最新安装包即可

  • Mac
brew install node  # 安装
sudo npm install -g npm
  • Ubuntu
sudo apt update
# 不推荐,因为Ubuntu 22.04软件源中包含的Node.JS版本是12.22.9
sudo apt install nodejs -y
sudo apt install npm -y
# 卸载
sudo apt purge nodejs
sudo apt autoremove

# 可以用以下方式安装
# - NVM版本管理器安装
# - Linux的homebrew去安装

版本管理

n(不推荐)

使用 n 管理 node 版本前,首先需要一个 node 环境

npm cache clean --force  # 清除缓存
sudo npm install n -g  # 安装n模块
n stable  # 升级node.js到稳定版本
hash -r  # 查看版本如果显示的还是旧版本,可以新开一个命令行,reset the location hash

# 卸载
sudo n prune
sudo npm uninstall -g n
sudo rm -r /usr/local/n
sudo rm /usr/local/bin/node

NVM(推荐)

https://github.com/nvm-sh/nvm

nvm 不是一个 npm package,而是一个独立软件包

# 不要使用 sudo 运行,因为这会为 root 用户启用nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
# 安装后重新打开终端
nvm --version

# 安装
nvm list-remote  # 列出所有可安装版本

nvm install node  # 安装最新版本
nvm install --lts  # 安装最新的LTS版本,比如v18.5.0(推荐)
nvm install 18.5.0  # 安装指定版本

nvm ls  # 列出已安装的node
nvm use x.x.x  # 切换当前版本
nvm alias default 12.16.3  # 修改默认版本

# 如果使用 sudo npm/npx 提示没有权限时,需要link下
sudo ln -s "$(which node)" /usr/bin/node
sudo ln -s "$(which npm)" /usr/bin/npm

使用

node --version  # 查看版本
node demo.js  # 运行脚本
node  # 进入node环境

依赖项:node_modules/...

包是一个目录,其中包含一个名为 package.json 的文件,描述了包的名称、版本、内容,依赖等

# 初始化,生成 package.json
npm init -y  # -y yes
{
  "name": "demo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

包分两种

  • 库:用 npm 安装
  • 可执行文件:需要用 npx 执行(安装node时默认已经安装)

包管理器

NPM

全球最大开源库生态系统

npm -v
npm help
npm list -g  # 查看已安装包,不带-g看不到全局的包

npm install [--save-dev] <xxx>  # npm install 可简写为 npm i
"
-g/--global
    本地安装(默认),安装到 $PWD/node_modules/...,通过require()引入
    全局安装,可以通过命令行在任何地方调用
--save
    配置信息存储到 package.json 的 dependencies 字段
--save-dev
    配置信息存储到 package.json 的 devDependencies 字段
--force
    强制 npm 获取远程资源,即使磁盘上存在本地副本也是如此
"

# 从 package.json 安装
# --production 只安装dependencies的包,不安装devDependencies的包
# --omit=dev
npm install [--production]

# 从github安装,默认主分支
npm install "https://github.com/ZuoRight/xxx.git#branch-name"
npm install "github:ZuoRight/xxx.git#branch-name"  # 方式2

npm uninstall <name1> <name2>  # 卸载插件

npm install npm -g  # 更新npm自身
npm update <name> [-g] [--save-dev]  # 更新插件,不指定name则更新全部

NPM 官方源比较慢,可以使用第三方源,NRM可以用来管理NPM源

npm install nrm -g
nrm ls  # 列出可用NPM源,带星号的为当前使用源
nrm test [xxx] # 测试源的速度
nrm use cnpm  # 切换源

Yarn

https://yarnpkg.com/getting-started/install

yarn = npm + npx

Yarn 是由 Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具,弥补 NPM 的一些缺陷而出现的。

NPM 是串行安装,安装慢,如果中间某个包的安装出现了错误,NPM 不会停止,而是会继续安装,这就会导致如果后面还有错误的话将难以排查。

Yarn 是并行安装,安装快,但为了安全考虑有些工具的官方文档提示不建议用yarn安装

# nodejs 16.10以上版本默认自带yarn,只需要开启corepack即可使用
# Mac可能需要:brew install corepack
corepack enable
yarn --version

# 更新yarn
corepack prepare yarn@stable --activate

yarn help
yarn init [-2]
yarn install  # 安装所有依赖

# 安装指定包
yarn add [package]@[version]
yarn add [package] --dev  # dev dependencies

yarn up [package]  # 更新
yarn remove [package]  # 移除

yarn list  # 查看安装的包,不带global看不到全局的包

最后更新: 2023-05-21