NPM(Node Package Manager) 是 Node.js 的官方包管理工具,用于管理 JavaScript 项目的依赖库和工具。它非常重要,尤其在现代的前端开发中,几乎所有的开发框架和工具都会依赖于它。以下是 NPM 安装与配置全流程 的详细指南。

1. 安装 Node.js 和 NPM

NPM 是随 Node.js 一起安装的,所以安装 Node.js 时会自动安装 NPM。以下是安装过程:

步骤 1:下载 Node.js 安装包

  1. 访问 Node.js 官方网站
  2. 选择 LTS(长期支持)版本下载,LTS 版本更稳定,适合生产环境。
  3. 下载并运行安装程序,根据提示完成安装。

步骤 2:安装 Node.js 和 NPM

  • Node.js 和 NPM 都会通过上述安装包一起安装。安装完成后,可以在命令行中检查安装是否成功。
    • 检查 Node.js 安装版本: node -v 输出类似:v18.x.x
    • 检查 NPM 安装版本: npm -v 输出类似:8.x.x

如果输出了版本号,说明 Node.js 和 NPM 安装成功。

2. 配置 NPM

步骤 1:设置 NPM 镜像源

NPM 默认使用官方的注册表 https://registry.npmjs.org/。如果你处于中国大陆地区,可能会因为网络问题导致下载速度较慢。可以通过设置镜像源来加速。

更换为淘宝镜像
  • 你可以将 NPM 的源设置为淘宝镜像: npm config set registry https://registry.npm.taobao.org 这样,你的 NPM 就会使用淘宝的镜像源,这个镜像源的速度通常更快。
  • 查看当前 NPM 源npm config get registry

步骤 2:设置 NPM 的全局包安装目录

有时,默认的全局包安装路径可能需要修改。你可以通过配置一个自定义路径来安装全局包,从而避免权限问题。

  • 设置全局安装路径npm config set prefix ~/npm 这样,所有全局安装的包将存放在 ~/npm 文件夹中。
  • 配置环境变量
    为了让全局包的可执行文件能够在命令行中找到,你需要将 ~/npm/bin 路径加入到系统环境变量中(适用于 Linux/macOS 用户): export PATH=$PATH:~/npm/bin

步骤 3:设置 NPM 缓存

NPM 会缓存已经下载的包,以便下次使用时加速安装。默认的缓存目录有时会占用较多空间,可以修改它。

  • 设置自定义缓存目录npm config set cache ~/npm-cache

这样,缓存会存放在 ~/npm-cache 目录。

3. 使用 NPM 安装和管理依赖包

步骤 1:初始化项目

  • 在创建一个新的 Node.js 项目时,首先需要初始化一个 package.json 文件。package.json 文件会记录项目的依赖和配置信息。
    • 初始化一个新的项目mkdir my-project cd my-project npm init npm init 会向你询问一些基本信息(如项目名称、版本号、描述等)。如果想跳过这些提示,可以使用 npm init -y 来自动生成默认配置。

步骤 2:安装项目依赖

package.json 中记录了项目的依赖包,通常是通过 npm install 来安装它们。

  • 安装单个包(生产依赖)npm install lodash 这会将 lodash 安装为生产依赖,并将其记录在 package.jsondependencies 字段中。
  • 安装开发依赖
    开发依赖通常是用于开发过程中,但在生产环境中不需要的工具,如测试框架、构建工具等。 npm install --save-dev jest 这会将 jest 安装为开发依赖,并记录在 devDependencies 字段中。
  • 安装指定版本的包npm install lodash@4.17.20
  • 安装所有依赖
    如果你已经有了 package.json 文件,使用以下命令来安装所有依赖包: npm install

步骤 3:全局安装工具

有些工具需要全局安装,才能在任何地方使用,比如 npm 工具、create-react-appgulp 等。

  • 安装全局包npm install -g eslint 这会将 eslint 安装为全局包,你可以在任何地方使用它。
  • 卸载全局包npm uninstall -g eslint

步骤 4:更新和卸载包

  • 更新包npm update lodash 更新到 lodash 包的最新版本。
  • 卸载包npm uninstall lodash

4. 使用 NPM 脚本

NPM 还支持运行自定义脚本,这对于构建、测试、启动等任务非常有用。

步骤 1:配置 NPM 脚本

package.json 文件的 scripts 字段中,你可以定义自定义命令。常见的脚本命令有 starttestbuild 等。

{
  "scripts": {
    "start": "node app.js",
    "test": "jest",
    "build": "webpack"
  }
}

步骤 2:运行 NPM 脚本

你可以通过 npm run 命令来运行自定义的脚本:

  • 运行 start 脚本npm start
  • 运行 test 脚本npm test
  • 运行自定义的 build 脚本npm run build

步骤 3:使用 NPM 脚本快捷命令

如果你的脚本名称是 starttest,可以直接用 npm startnpm test 来运行。其他脚本需要使用 npm run <script-name>

5. 常见 NPM 命令总结

命令描述
npm init初始化一个新的 package.json 文件
npm install安装当前项目所需的依赖包
npm install <package>安装指定包并添加到 dependencies
npm install --save-dev安装开发依赖包并添加到 devDependencies
npm uninstall <package>卸载指定的依赖包
npm update更新所有依赖包
npm list查看已安装的依赖包
npm outdated查看过时的依赖包
npm run <script>运行 package.json 中定义的自定义脚本
npm audit执行安全检查,查看依赖包是否存在已知漏洞

6. NPM 高级配置

步骤 1:配置 .npmrc 文件

NPM 支持通过 .npmrc 文件进行进一步的配置,配置项可以全局、用户级别或项目级别。

  • 全局配置npm config set prefix /usr/local/npm
  • 项目级别配置
    在项目根目录下创建 .npmrc 文件,定义项目特有的配置。

总结

NPM 是一个非常强大的工具,能够有效地管理 JavaScript 项目的依赖和脚本。通过合理的配置和使用 NPM,你可以大大提高开发效率。这个流程包含了安装、配置、使用、更新、脚本等方面,帮助你从初学者到高级用户全面掌握 NPM。