NPM 包管理工具

256 阅读3分钟

包是什么

【包】英文单词 package, 代表了一组特定功能的源码集合

常用的包管理工具

下面列举了前端常用的包管理工具

  • npm
  • yarn
  • cnpm

npm

npm 全称 Node Package Manager, 翻译为中文的意思是 [Node的包管理工具]

npm的安装

node.js 安装时会自动安装npm, 所以如果你已经安装了node.js, 可以直接使用npm,可以通过 npm -v 查看版本号,如果显示版本说明安装成功,反之安装失败

image.png

npm 查看全局安装包的命令

npm root -g

npm 发布一个包

我们可以将自己开发的工具包发布到npm服务上,方便自己和其他开发者使用,操作步骤如下

  1. 创建文件夹,并创建文件index.js, 在文件夹中声明函数,使用module.exports暴露
  2. npm初始化工具包,package.json 填写包的信息(包的名字是唯一的)
  3. 注册npm账号 www.npmjs.com/
  4. 激活账号
  5. 修改为官方的官方镜像(终端中运行nrm use npm)
  6. 终端中再输入npm login填写相关用户信息
  7. 终端中输入 npm publish提交包

npm更新包

后续可以对自己发布的包进行更新,操作步骤如下

  1. 更新包中的代码
  2. 测试代码是否可用
  3. 修改package.json中的版本号
  4. 发布更新npm publish

删除包

执行npm unpublish 如果执行失败可用 npm unpublish --force

nrm

使用nrm 配置npm的镜像地址 npm registry manager

  1. 安装

npm i -g nrm

  1. 镜像修改

nrm use taobao

  1. 检查是否配置成功(选做)

npm config list

  1. nrm 的常用命令

nrm ls 查看nrm支持的所有镜像地址

yarn

我们可以使用npm 安装yarn npm i -g yarn

yarn 常用命令

功能命令
初始化yarn init / yarn init -y
安装包yarn add uniq 生产依赖
安装包yarn add less --dev 开发依赖
安装包yarn global add nodemon 全局安装
删除包yarn remove uniq 删除项目依赖包
删除包yarn global remove nodemon 全局删除包
安装项目依赖yarn
运行命令别名yarn <别名> 不需要添加run

yarn 配置淘宝镜像

可以通过如下命令配置淘宝镜像 yarn config set registry https://registry.npmmirror.com/

可以通过yarn config list 查看yarn的配置项

nvm

  1. 介绍

nvm全称 Node Version Manager 顾名思义它是用来管理node版本的工具,方便切换不同版本的Node.js

  1. 使用

nvm的使用非常简单,跟npm的使用方法类似

下载安装

首先先下载nvm,

下载地址1官网 nvm.uihtm.com/doc/downloa…

下载地址2 github.com/coreybutier… 选择nvm-setup.exe下载即可

image.png

常用命令

命令说明
nvm list available显示所有可以下载的Node.js版本
nvm list显示已安装的版本
nvm install 18.12.1安装18.12.1版本的Node.js
nvm install latest安装最新版的Node.js
nvm uninstall 18.12.1删除某个版本的Node.js
nvm use 18.12.1切换18.12.1的Node.js

pm2

可以用来自动启动程序,适用于生产环境

npm install pm2 -g         # 全局安装
pm2 --version             # 验证安装


pm2 start app.js          # 启动单文件
pm2 start npm -- start    # 启动 npm 脚本(如 React/Vue)
pm2 start "python app.py" --name "python-app"  # 启动非 Node 应用


pm2 list                  # 查看运行中的进程列表
pm2 stop <app_name|id>    # 停止指定应用
pm2 restart <app_name|id> # 重启应用
pm2 delete <app_name|id>  # 删除应用
pm2 delete all            # 删除所有应用