vue---NPM的简介及使用

本文详细介绍了NPM的作用、与Node.js的关系,以及如何使用NPM进行本地和全局安装JavaScript库,如vue.js。讲解了如何指定版本安装、查看已安装模块和管理生产环境与开发环境的依赖。此外,还提到了加速下载的cnpm工具和批量安装模块的方法,并对package.json文件进行了初步解析,最后列举了一些常用的npm命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、为什么要学习 NPM?(NPM 的作用)

我们后续需要用它去下载安装相应 js 库与各种插件(模块)等,比如 vue.js、vue-router.js、axios.min.js、vuex,并且使用频繁。npm 是各种 包管理器,用来下载安装、卸载各种依赖文件(第三方插件)。

二、NPM 是什么?与 Node 的关系

NPM 的全称是 Node Package Manager,即 Node 包管理工具,那么 Node 又是什么?即指 Node.js,Node.js 是一个能够在服务器端运行 JavaScript 的开放源代码、跨平台 JavaScript 运行环境。
解释两点:
(1)跨平台:Node.js 的程序可以在 Microsoft Windows、
Linux、Unix、Mac OS X 等服务器上运行。
(2)通俗说这个环境可以使 JavaScript 用于服务端的编程,原先 JavaScript 只能用于前端编程,服务端需要用 PHP、Python、JAVA、C#等。Node.js 使前后端更加一体了,十分方便。

Node.js 主要模块是用 JavaScript 编写的,因此 npm 也就是JavaScript 的包管理工具,而且是 Node.js 平台的默认包管理工具。通过 npm 可以安装、共享、分发代码,管理项目依赖关系。目前的 Node.js 安装包中已经包含了 npm。

三、本地安装模块(js 库)

安装的主要模块就是相关 js 库,有本地安装和全局安装两种方式。这节学习本地安装。把 js 库安装到当前执行安装命令时所在的目录下,也就是说本地安装的 js 库,只有本项目有用。
语法:npm install <module name>[@版本号]
在这里插入图片描述

四、安装指定版本的 js 库

如下图所示,安装指定版本号的 bootstrap,通过@指定版本号为 3.3.7。注意:指定的版本号一定要存在的,否则会报错,安装不成功的。
在这里插入图片描述

五、全局安装模块(js 库)及查看已安装的 js 库

5.1、如何通过命令查看全局安装位置

如果多个项目要共同使用/引用某一个 js 库,就要使用全局安装,也就是安装在一个公共位置(全局安装位置)。那么公共位置在哪呢?这就是在 1.3 节中配置的全局安装路径。我们也可以通过命令查看。

语法:npm root –g

在这里插入图片描述

5.2、 npm 全局安装 js 库

语法:npm install <module_name> -g

g 代表 global 全局安装的意思。
如 下 表 示 全 局 安 装 vue , 此 时D:\Program\Files\nodejs\node_global\node_modules 文件夹下就会看到 vue文件夹,vue 文件夹下就会有 vue.js 等相关文件。
在这里插入图片描述

5.3、 如何查看全局安装了哪些 js 库

语法:npm list -g 或 npm ls -g

在这里插入图片描述

六、 生产环境和开发环境依赖模块的安装

6.1、 生产环境依赖模块的安装

如果项目中用到的 js 库(例如 vue、axios、element ui、echarts)在项目最后打包上线后需要用到,就要使用生产环境依赖的安装。

语法:npm install <module name> [--save|-S] 
-S 为--save 的简写,同样 install 可简写为 i

就是在后面增加了–s 或-S 参数【前面是英文的两个-,后面是一个-】,安装后会自动把模块和版本号添加到 package.json 中的 dependencies 对象中,简称 dep,就是指生产环境依赖。

6.2、 开发环境依赖模块的安装

如果项目中用到的 js 库(例如 eslint 语法格式检查的需要,课程后续都会用到)在项目最后打包上线后不需要用到,就使用开发环境依赖的安装。

语法:npm install <module name> [--save-dev|-D] 
(|后面的简写)

就是在后面增加了–save-dev 或-D 参数,安装后会自动把模块和版本号添加到 package.json 中的 devDependencies 对象中,简称 dev,就是指开发环境依赖。
说明:参数--save-dev 或-D 放在<module name>前面也行。

七、cnpm 命令的安装及批量下载模块

7.1、cnpm的安装

cnpm 命令作用就是加快模块的下载速度。通过 npm 命令安装模块是从国外服务器下载,速度往往比较慢。
国内服务器有没有下载呢?乐于分享的淘宝团队干了这事。来自官网:“这是一个完整npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为10 分钟一次以保证尽量与官方服务同步。”
注意,没有安装直接输入 cnpm 命令会报错的哦。
怎么安装 cnpm 命令呢?
前提也需要先安装 node.js,当然我们 npm 命令有用,那么node.js 肯定安装了。接下来只要在 cmd 窗口中输入如下命令:(一般都全局安装)

npm install -g cnpm--registry=https://registry.npm.taobao.org

等待一会就会显示安装成功,再输入 cnpm 命令就不会报错了。
在这里插入图片描述
cnpm 跟 npm 用法基本一致,只是在执行命令时将 npm 改为cnpm。以后一般可采用 cnpm 命令代替 npm。

7.2、 批量下载模块

我们从网上去下载一些 vue 的相关项目源码,你会发现一般没有 node_modules 文件夹,也就是说所有相关依赖的文件都没有的,但 是 会 有 package.json 文 件 , 这 个 时 候 我 们 就 需 要 根 据package.json 文件去安装所有相关依赖。然而在上面的 npm-demo1 项目中我们下载安装的 vue、bootstrap、jquery、eslint 等是一个个去下载安装的。如果还一个个去安装太累了(实际项目会有更多的依赖模块),那么如何批量下载安装呢?只需要进入 package.json 文件所在目录,也就是项目的根目录,打开 cmd 窗口,输入 npm install 或 cnpm install,当然建议选择后面的。

例:现在把npm-demo1项目中的node_modules文件夹删除,先需要根据 package.json 文件去安装所有相关依赖。package.json文件中的 4 个相关依赖如下图所示。
在这里插入图片描述
在这里插入图片描述
说明:此时你到项目根目录有可以看到 node_modules 文件夹及其下面一大堆的文件夹。

八、package.json 文件初步认识

打开 package.json 文件(尚没有安装 VS Code,可以用
Notepad 工具打开)后,内容如下,发现就是我们基本为我们自己设置的参数信息(在上面的 cmd 窗口中也有)。但是下面红色参数Scripts 在初始化时我们没有设置。它的含义是:表示项目运行的脚本信息,是一个对象,本身里面又可以包含很多对象,即,键值对信息,默认有一个对象,键为”test”,表示测试开发环境,后面的值表示运行的脚本。后续课程开发中我们一般会设置 “dev”或“serve”去启动项目的。

{ "name": "npm-demo1",
 "version": "1.0.0",
"description": "firstproj", 
"main": "index.js", 
"scripts": { "test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [ "npm" ],
"author": "xuzhaoxing", "license": "ISC"
}

说明:后面我们开发项目中生成的 package.json 文件不会这么简单,还会有文件"dependencies" 、"devDependencies"的值(表示生产环境、开发环境的依赖),表示相关依赖。有了 package.json文件文件,直接使用 npm install 命令自动安装和维护当前项目所需的所有依赖模块。

九、几个常用的npm命令

1. npm uninstall –g <module> # 卸载全局模块 
2. npm list | ls # 查看本地安装的所有模块
3. npm list | ls <module name> # 查看本地安装的指定模块,
4. npm/cnpm view <module name> vers # 查看模块的最新版本
5. npm -rf node_modules/ # 删除已安装的模块
6. npm cache clean # 清除 npm 内部缓存
7. npm install # 重新安装
8. cnpm view <module name> versions # 查看模块的所有版本
9. cnpm uninstall <module nam> # 卸载本地模块
npm install vite@4.0.0 npm WARN ERESOLVE overriding peer dependency npm WARN While resolving: vue-element-plus-admin@1.8.2 npm WARN Found: vite@3.2.11 npm WARN node_modules/vite npm WARN peerOptional vite@"^2.9.0 || ^3.0.0" from @intlify/vite-plugin-vue-i18n@6.0.3 npm WARN node_modules/@intlify/vite-plugin-vue-i18n npm WARN dev @intlify/vite-plugin-vue-i18n@"^6.0.3" from the root project npm WARN 9 more (@vitejs/plugin-vue, @vitejs/plugin-vue-jsx, ...) npm WARN npm WARN Could not resolve dependency: npm WARN peerOptional vite@"^2.9.0 || ^3.0.0" from @intlify/vite-plugin-vue-i18n@6.0.3 npm WARN node_modules/@intlify/vite-plugin-vue-i18n npm WARN dev @intlify/vite-plugin-vue-i18n@"^6.0.3" from the root project npm WARN ERESOLVE overriding peer dependency npm WARN While resolving: vue-element-plus-admin@1.8.2 npm WARN Found: vite@3.2.11 npm WARN node_modules/vite npm WARN peerOptional vite@"^2.9.0 || ^3.0.0" from @intlify/vite-plugin-vue-i18n@6.0.3 npm WARN node_modules/@intlify/vite-plugin-vue-i18n npm WARN dev @intlify/vite-plugin-vue-i18n@"^6.0.3" from the root project npm WARN 9 more (@vitejs/plugin-vue, @vitejs/plugin-vue-jsx, ...) npm WARN npm WARN Could not resolve dependency: npm WARN peer vite@"^3.0.0" from @vitejs/plugin-vue@3.2.0 npm WARN node_modules/@vitejs/plugin-vue npm WARN dev @vitejs/plugin-vue@"^3.1.0" from the root project npm WARN ERESOLVE overriding peer dependency npm WARN While resolving: vue-element-plus-admin@1.8.2 npm WARN Found: vite@3.2.11 npm WARN node_modules/vite npm WARN peerOptional vite@"^2.9.0 || ^3.0.0" from @intlify/vite-plugin-vue-i18n@6.0.3 npm WARN node_modules/@intlify/vite-plugin-vue-i18n npm WARN dev @intlify/vite-plugin-vue-i18n@"^6.0.3" from the root project npm WARN 9 more (@vitejs/plugin-vue, @vitejs/plugin-vue-jsx, ...) npm WARN npm WARN Could not resolve dependency: npm WARN peer vite@"^3.0.0" from @vitejs/plugin-vue-jsx@2.1.0 npm WARN node_modules/@vitejs/plugin-vue-jsx npm WARN dev
04-01
<think>好的,我现在需要帮助用户解决npm安装时的ERESOLVE警告和peer dependency冲突问题。用户提到的依赖包括vite、@vitejs/plugin-vue@2.1.0、vue-element-plus-admin和@intlify/vite-plugin-vue-i18n。首先,我应该回忆一下npm处理依赖冲突的机制,特别是peer dependencies的问题。 首先,ERESOLVE警告通常是因为npm 7+版本开始自动安装peer dependencies,但有时候不同包要求的peer依赖版本不一致,导致冲突。用户遇到的可能是vite的版本问题,因为@vitejs/plugin-vue@2.1.0需要vite@^2.5.10,而其他依赖可能需要更高版本的vite,比如vite 3.x或4.x。 接下来,我需要考虑可能的解决方案。常见的办法包括:1)升级或降级相关包版本以匹配peer依赖;2)使用--force或--legacy-peer-deps绕过冲突;3)手动调整package.json中的版本。 首先检查各个包的兼容性。例如,vue-element-plus-admin可能需要特定版本的Vue 3和Vite,而@intlify/vite-plugin-vue-i18n也可能对Vite版本有要求。如果用户的项目必须使用较新的Vite版本,可能需要寻找与这些版本兼容的插件版本。例如,@vitejs/plugin-vue的更高版本可能支持Vite 3或4,但需要确认。 另外,用户提到的引用[1]是关于@vitejs/plugin-vue@2.1.0需要vite@^2.5.10,但用户可能安装了更高版本的vite,导致冲突。因此,解决方案之一是将vite降级到2.x版本,或者升级@vitejs/plugin-vue到支持当前vite版本的更高版本。 如果用户不能降级vite,可能需要更新其他依赖。例如,查看vue-element-plus-admin的文档,确认其支持的vite版本,以及是否有更新的版本可用。同样,检查@intlify/vite-plugin-vue-i18n的兼容性。 另外,npm--legacy-peer-deps选项可以跳过peer依赖安装,但可能导致运行时错误,因此不是最佳方案。而--force会强制安装,但同样可能有风险。 总结可能的步骤:1)确定当前安装的vite版本;2)查看各依赖的peer依赖要求;3)调整包版本以匹配,或使用兼容版本;4)尝试安装命令添加--legacy-peer-deps;5)如有必要,更新项目依赖到较新版本。 此外,用户可能需要更新package.json中的依赖版本,然后删除node_modules和package-lock.json,重新安装。或者使用npm install命令指定版本号,例如npm install vite@2.9.15 @vitejs/plugin-vue@2.1.0,确保版本兼容。 最后,还应建议用户查阅各插件的官方文档,确认版本兼容性,以避免类似问题。</think>### 解决 npm ERESOLVE 警告与 peer dependency 冲突的方法 #### 1. 理解问题根源 该警告通常由依赖版本不兼容导致。例如:`@vitejs/plugin-vue@2.1.0` 需要 `vite@^2.5.10`,但其他依赖可能要求更高版本的 `vite`,例如 `vue-element-plus-admin` 可能依赖 `vite@4.x`,从而产生版本冲突[^1]。 #### 2. 手动指定兼容版本 通过 `npm install` 时显式指定版本号: ```bash npm install vite@2.9.15 @vitejs/plugin-vue@2.1.0 ``` 确保所有插件版本与 `vite@2.x` 兼容,例如: - `@intlify/vite-plugin-vue-i18n` 需使用 `^3.0.0` 之前版本 - `vue` 和 `vue-router` 需使用 `3.x` 版本 #### 3. 使用 `--legacy-peer-deps` 绕过检查 临时解决方案(可能引入运行时错误): ```bash npm install --legacy-peer-deps ``` #### 4. 依赖升级方案 若需使用新版 `vite`,需升级相关插件: ```bash npm install vite@4 @vitejs/plugin-vue@4 @intlify/vite-plugin-vue-i18n@9 ``` 注意需同步更新 `vue-element-plus-admin` 到支持 Vue 3 和 Vite 4 的版本。 #### 5. 验证依赖树 通过以下命令检查依赖关系: ```bash npm list vite npm list @vitejs/plugin-vue ``` --- ### 版本兼容对照表 | 包名称 | Vite 2.x 兼容版本 | Vite 4.x 兼容版本 | |--------------------------|------------------|------------------| | @vitejs/plugin-vue | 2.x | 4.x | | @intlify/vite-plugin-vue-i18n | <=3.x | >=9.x | | vue-element-plus-admin | 需检查仓库文档 | 需检查仓库文档 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小福仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值