-
npm包的版本格式:比如1.2.2,遵循“大版本.次要版本.小版本“的格式规定,安装时只安装指定版本。
-
^
大版本保持不变,次要版本.小版本保持最新。例如:^1.2.2,每次npm install的时候,会保持1版本不变,但是会安装当前1版本里面最新的次版本和小版本。
~
大版本和次要版本保持不变,小版本保持最新。例如:~1.2.2,每次npm install的时候,会保持1.2版本不变,但是会安装当前当前1.2版本里面最新的小版本。 -
npm install会根据package.json中的配置,来安装对应的包,如果package.json使用 ^ 或 ~ 来匹配依赖项的版本时,则 npm 可能无法安装确切版本,npm install 的时候会更新package.lock.json。
-
npm ci: npm ci 根据 package-lock.json 安装依赖,这可以保证整个开发团队都使用版本完全一致的依赖,避免把时间浪费在排查因为依赖不一致而导致的各种奇怪问题上。(它不会更新package.lock.json),同时还能够加速node模块安装速度。
-
vscode 的控制台中敲ng version, 显示的是npm install 安装的angular版本,也就是项目的node_modules中存在的版本,如果nodejs全局安装的版本和node_modules不一致,会出下面的信息warning信息:
Your global Angular CLI version(这个是nodejs里面安装的版本,也就是电脑上安装的nodejs) is greater than your local(这个是vscode的node_modules里面安装的版本)。
解决办法: 删除node_modules,重新npm install 或者npm ci
package.josn中^和~的区别
于 2022-04-15 17:59:36 首次发布