首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

npm-shrinkwrap锁定依赖

方式二:shrinkwrap 另一个选择是,可以在项目中使用 shrinkwrap,在开发阶段依赖稳定后,运行如下命令: npm shrinkwrap npm shrinkwrap--dev # 将dev-dependencies...注意问题: shrinkwrap计算时是根据当前依赖安装的目录结构生成的,如果你不能保证package.json文件定义的依赖与node_modules下已安装的依赖是匹配、无冗余的,建议在执行shrinkwrap...默认情况下,shrinkwrap只计算dependencies依赖,而不计算dev-dependencies,如果在生产环境也需要开发依赖或你的依赖分类不清晰,使用--dev参数生成shrinkwrap...把依赖写入 shrinkwrap 文件; 第三步: 在代码库中提交 shrinkwrap / package.json 描述。...shrinkwrap.json 为防止出现这种潜在问题,npm使用 package-lock.json 或 npm-shrinkwrap.json(如果存在)。这些文件称为包锁或锁文件。

1K51
您找到你想要的搜索结果了吗?
是的
没有找到

npm5 新版功能特性解析及与 yarn 评测对比

[1497508548932_7968_1497508549284.gif] npm-shrinkwrap.json npm5 新增的 package-lock.json 文件和之前通过 npm shrinkwrap...需要注意的是 npm shrinkwrap 并不是一个新功能特性,而是从 npm2 就开始有的功能。也就是说在 npm5 之前的版本也是可以通过 shrinkwrap 锁定依赖的。...而最新的 npm5 在生成了 package-lock.json 之后,再运行 npm shrinkwrap 命令,会发现就是把 package-lock.json 重命名为 npm-shrinkwrap.json...官方对于此也给出了答复和解释:新增 package-lock.json 主要是为了使得 npm-shrinkwrap.json 可以向下兼容,保证旧版也可使用(比如已有 shrinkwrap 文件的项目...发布包时如果有锁定的需求,可以用 npm shrinkwrap 命令把 package-lock.json 转为 npm-shrinkwrap.json 随包发布。

5.4K70

锁定NodeJS项目的依赖库

还好查到了npmjs.com官方针对这个问题的说明,详见这里 npm shrinkwrap的作用就是以项目为根,将项目依赖树上所有第三方库版本固定。...使用上还是比较简单的,就是执行npm shrinkwrap命令,就会在package.json旁边上一个npm-shrinkwrap.json,以后再执行npm install,就会安装npm-shrinkwrap.json...不过这里还有一个小坑,官方文档里说明如下: 1 Since npm shrinkwrap is intended to lock down your dependencies for production...也就是默认不会锁定devDependencies的版本,除非执行npm shrinkwrap带上--dev参数。...我建议执行npm shrinkwrap还是带上--dev参数,否则很有可能某天一个开发依赖库版本小升个版本号,你的项目又悲剧了。

1.3K70

OpenROV Cockpit说明

Linuxs/OSX: npm run deploy:prod Windows: set NODE_ENV=production set npm_config_shrinkwrap=true npm install...如果你想安装为系统安装依赖项,则必须忽略 shrinkwrap 的设置,具体命令如下: Linuxs /OSX: npm run deploy:dev Windows: set NODE_ENV=development...set npm_config_shrinkwrap=false npm install 上述命令将遍历所有路径,寻找 bower.json 和 package.json 文件并安装它们,这将花费几分钟运行...NPM shrinkwrap 所有包 当为下一 release 准备进行 repo 操作,防止依赖项移动时,执行如下命令: npm run shrinkwrap 在升级了新依赖项后,shrinkwrap...在用这些文件检查源代码之前要运行: npm run prepshinkwrap 这将从 shrinkwrap 中移除 “OptionalDepenencies” 而不重新生成依赖项。

1.6K90

一文看懂npm、yarn、pnpm之间的区别

为了解决这个问题,npm提供了shrinkwrap命令。此命令将生成一个npm-shrinkwrap.json文件,为所有库和所有嵌套依赖的库记录确切的版本。...然而,即使存在npm-shrinkwrap.json这个文件,npm也只会锁定库的版本,而不是库的内容。...这是引用自shrinkwrap文档的内容: 如果你希望锁定包中的特定字节,比如是为了保证能正确地重新部署或构建,那么你应该在源代码控制中检查依赖关系,或者采取一些其他的机制来校验内容,而不是靠校验版本。...虽然可以使用npm shrinkwrap来实现可预测的依赖关系树,但它并不是默认选项,而是取决于所有的开发人员知道并且启用这个选项。 Yarn采取了不同的做法。...每个yarn安装都会生成一个类似于npm-shrinkwrap.json的yarn.lock文件,而且它是默认创建的。

2.5K100
领券