npm相关依赖操作+版本问题
2023-09-11 14:19:06 时间
(1)基本用法
1、本地安装npm install <package name>,缩写install缩为i 2、全局安装npm install -global <package name>,缩写global缩为g
3、git地址安装
4、强制force(武力、军队)安装
5、删除node_modules文件夹,重新安装
(2)版本控制
1、安装潜规则:install命令总是安装模块的最新版本
2、特定版本指令为npm i <package name>@版本号
(3)指定依赖关系(生产依赖/开发依赖)
(4)版本说明~与^区别
这里首先需要明确大版本→小版本→补丁包的区别(王者荣耀的玩家自动脑补即可......)
当我们查看package.json中已安装的库的时候,会发现他们的版本号之前都会加一个符号,有的是插入符号(^),有的是波浪符号(~)。那么他们到底有什么区别呢?
先贴一个例子,对照例子来做解释:
当我们使用最新的Node运行‘npm instal --save xxx',的时候,他会优先考虑使用插入符号(^)而不是波浪符号(~)了。
这对于你来说意味这什么呢?首先我们需要理解这两者(~和^)的区别。
区别:
波浪符号(~):他会更新到当前minor version(也就是中间的那位数字)中最新的版本。放到我们的例子中就是:body-parser:~1.15.2,这个库会去匹配更新到1.15.x的最新版本,
如果出了一个新的版本为1.16.0,则不会自动升级。波浪符号是曾经npm安装时候的默认符号,现在已经变为了插入符号。 插入符号(^):这个符号就显得非常的灵活了,他将会把当前库的版本更新到当前major version(也就是第一位数字)中最新的版本。放到我们的例子中就是:bluebird:^3.3.4,
这个库会去匹配3.x.x中最新的版本,但是他不会自动更新到4.0.0。
通俗理解:
波浪号为补丁版本最新版
插入符号为小版本最新版
接下来做下测试,实际考察下两者区别
(5)测试版本号~与^
1、初始化项目后安装特定版本jquery1.1.11,如下
接下俩看下下载的安装依赖版本
如图所示,正是1.1.11版本
2、接下来删除依赖包和锁文件package-lock.json,再次下载
我们看下^1.11.1再次通过npm i下载时的情况
此时版本为1.12.4,如下所示
1.12.4版本是哪一代呢?一起看下
查看可知1.12.4为次要版本最后最新版,验证到此结束
3、接下来验证~补丁版
同理,删除之前依赖包和锁文件,然后将版本控制为~
接下来安装依赖
然后看下依赖版本
通过~1.11.1下载后的依赖版本为1.11.3,为什么?接下来看下jquery版本更迭即可知道
最后遵守“大版本.次要版本.小版本”的格式,1.11.x系列的补丁版小版本最后最新一版为1.11.3。验证到此
.
相关文章
- 怎么写一个带 bin 的 npm 包
- npm脚本
- [WASM Rust] Create and Publish a NPM Package Containing Rust Generated WebAssembly using wasm-pack
- [NPM] Create a new project using the npm init <initializer> command
- [NPM] Add comments to your npm scripts
- [NPM] Make npm scripts cross-environment friendly
- [NPM] Use custom config settings in your npm scripts
- [NPM] Run a set of similar npm scripts with a wildcard
- [Typescript] Get a TypeScript package ready for release to NPM
- [Bash] Run `npm install` when package.json changes in githook
- [NPM] Execute npx commands with $npm_ Environment Variables
- [WASM Rust] Create and Publish a NPM Package Containing Rust Generated WebAssembly using wasm-pack
- [Tool] Open Multiple Terminal Tabs on npm Start with ttab and npm-run-all
- [NPM] Publish npm packages using npm publish
- [NPM] Test npm packages locally in another project using npm link
- [NPM] Add comments to your npm scripts
- [NPM] Run npm scripts in series
- [NPM] Run npm scripts with git hooks
- [NPM] Pass arguments to npm scripts
- npm教程:使用nrm切换镜像源
- 突然发现,npm里request依赖包已经弃用,怎么办?
- npm 报错 request to https://registry.cnpmjs.org/vue failed, reason: Hostname/IP does not match certificate‘
- npm安装依赖报错npm ERR! code ENOTFOUND npm ERR! errno ENOTFOUND
- npm之报错:npm WARN deprecated @npmcli/move-file@2.0.1(一百五十九)
- 笔记:NPM 无限需要依赖问题解决
- vue+webpack+npm搭建的纯前端项目
- npm 安装参数中的 --save-dev 是什么意思
- Vue中npm run dev 和 npm run serve区别