npm包管理器完全指南

npm这玩意儿,说是Node.js的杀手级功能也不为过。装Node.js的时候npm就自带了,装了一百多万个包,全世界开发者都在用。这节课我们就来好好聊聊npm。

一、 npm是个啥

npm全称是Node Package Manager,顾名思义就是Node.js的包管理器。你可以把它理解为一个巨大的代码仓库,别人写好的功能你直接拿来用,不用自己造轮子。

装好Node.js之后,npm就自动装好了。验证一下:

npm -v

看到版本号就说明ok了。

二、 安装第一个包

来,先安装一个最常用的包——express,一个Node.js的Web开发框架:

npm install express

或者简写:

npm i express

安装完成后,你会发现项目文件夹里多了一个 node_modules 文件夹,里面就是安装的包。另外还多了一个 package-lock.json 文件,这个文件记录了所有包的精确版本号。

三、 package.json 是什么

这是每个Node.js项目最重要的文件!它记录了你的项目信息、依赖的包等等。

创建方式:

npm init

运行后会让你填一些信息:

填完就生成了一个 package.json 文件。

也可以一条命令搞定所有默认选项:

npm init -y

这样就直接用默认值生成了。

四、 dependencies 和 devDependencies

安装包的时候你会看到两种写法:

// 正式依赖,项目上线后也要用的 npm install express npm install vue

// 开发依赖,只有开发时用的,上线不需要 npm install --save-dev eslint npm install --save-dev webpack

两者的区别在于:

上线部署的时候,如果用 npm install --production,只会安装 dependencies,不会安装 devDependencies。

五、 常用npm命令大全

1. 安装相关

// 安装所有依赖(第一次拉项目必用) npm install

// 安装指定包 npm install lodash

// 安装指定版本 npm install lodash@4.17.21

// 全局安装(命令行工具用) npm install -g nodemon

// 安装最新版本 npm install lodash@latest

2. 更新相关

// 查看过时的包 npm outdated

// 更新单个包 npm update lodash

// 更新所有包 npm update

3. 卸载相关

// 卸载包 npm uninstall lodash

// 也行 npm remove lodash

4. 其他常用

// 查看安装了哪些包 npm list

// 查看某个包的版本 npm list express

// 搜索包 npm search express

// 查看包信息 npm view express

六、 实战:用npm搭建一个项目

来,实际操作一下:

第1步:创建项目

mkdir my-blog cd my-blog npm init -y

第2步:安装需要的包

// 安装express和模板引擎 npm install express ejs

// 安装开发工具 npm install --save-dev nodemon

现在你的 package.json 长这样:

{ "name": "my-blog", "version": "1.0.0", "main": "index.js", "dependencies": { "ejs": "^3.1.6", "express": "^4.18.2" }, "devDependencies": { "nodemon": "^2.0.20" } }

第3步:写代码

创建 app.js:

const express = require('express'); const path = require('path');

const app = express();

// 设置模板引擎为ejs app.set('view engine', 'ejs'); app.set('views', path.join(__dirname, 'views'));

// 首页路由 app.get('/', (req, res) => { res.render('index', { title: '我的博客' }); });

app.listen(3000, () => { console.log('博客已启动,访问 http://localhost:3000'); });

第4步:运行

// 开发时用nodemon自动重启 npx nodemon app.js

七、 npx是什么

npx是npm自带的工具,用来直接运行node_modules里的命令:

// 直接运行本地安装的包 npx nodemon app.js

// 或者运行远程的包 npx create-react-app my-app

npx的好处是不用全局安装,用完就走,不占用本地空间。

八、 npm镜像配置

国内用npm速度感人,可以换成淘宝镜像:

// 设置淘宝镜像 npm config set registry https://registry.npmmirror.com

// 换回官方源 npm config set registry https://registry.npmjs.org

或者使用cnpm:

npm install -g cnpm --registry=https://registry.npmmirror.com

之后就可以用 cnpm install 替代 npm install 了,速度快很多。

九、 小技巧

1. 加速安装

// 使用淘宝镜像安装 npm install express --registry=https://registry.npmmirror.com

2. 查看全局安装位置

npm root -g

3. 清除缓存

npm cache clean --force

4. 查看某个包的依赖树

npm ls express

十、 常见问题

安装失败

先清缓存再试:

npm cache clean --force npm install

权限报错

不要用sudo,用管理员权限打开终端,或者配置npm的全局路径。

不知道包名

https://www.npmjs.com 搜索,里面有一百多万个包。

十一、 下节预告

npm会用了,下节课我们来聊聊Node.js的文件系统操作,学完你就能读写文件、处理数据了!

有疑问?评论区见!