zoukankan      html  css  js  c++  java
  • 依赖包锁定

    .强制固定package.json 里的依赖包版本号

    符号    当运行 npm update 时,情况说明 

    ^1.5.1  【限制主版本号】允许安装版本号大于 1.5.1 但小于 2.0.0 版本的模块

    ~1.5.1  【限制次要版本】 允许安装版本号大于 1.5.1 但小于 1.6.0 版本的模块  

    1.5.1   【精确控制】允许安装版本号大于 1.5.1   

    强制固定版本号 即去掉版本号前的符号

    2.使用npm-shrinkwrap锁定依赖

    在开发阶段依赖稳定后,运行如下命令:

    npm shrinkwrap

    npm shrinkwrap --dev  # 将dev-dependencies计算在内

    这会生成一个 npm-shrinkwrap.json 文件,该文件包含了你正在使用的模块的指定版本。

    当运行 npm install时,该文件所指定的模块版本会覆盖 package.json 文件中所指定的版本。

    注意问题:

    shrinkwrap计算时是根据当前依赖安装的目录结构生成的,如果你不能保证package.json文件定义的依赖与node_modules下已安装的依赖是匹配、无冗余的,建议在执行shrinkwrap命令前清理依赖并重新安装(rm -rf node_modules && npm install)或精简依赖(npm prune)或手动删除node_modules文件夹重新安装依赖。

    默认情况下,shrinkwrap只计算dependencies依赖,而不计算dev-dependencies,如果在生产环境也需要开发依赖或你的依赖分类不清晰,使用--dev参数生成shrinkwrap文件确保不会出问题。

    需要升级某个依赖时应先执行 npm update xxx  之后依次执行npm shrinkwrap / npm shrinkwrap --dev   、npm install

    并提交npm-shrinkwrap.json和package.json至版本库中

    特别注意:

    使用cnpm会忽略npm-shrinkwrap.json文件,这里推荐严格使用npm命令进行操作

    我们应先执行npm换源操作

    关于npm 换成淘宝镜像源

    1.得到原本的镜像地址

    npm get registry

    https://registry.npmjs.org/

    设成淘宝的

    npm config set registry http://registry.npm.taobao.org/

    yarn config set registry http://registry.npm.taobao.org/

    2.换成原来的

    npm config set registry https://registry.npmjs.org/

  • 相关阅读:
    【题解】【模板】矩阵级数
    【题解】P2048 [NOI2010]超级钢琴
    【题解】[APIO2009]会议中心
    【题解】[P4178 Tree]
    【题解】扑克牌游戏
    【题解】quake
    【题解】cycle
    从不浪费——分治总结
    【题解】Painting Fence
    【题解】[CJOI2019Chebnear]
  • 原文地址:https://www.cnblogs.com/isylar/p/11224227.html
Copyright © 2011-2022 走看看