npm:在没有npm-shrinkwrap.json的情况下在package.json中获取修复的依赖版本

时间:2016-02-01 14:45:48

标签: npm

我想在已安装(!=最新可用)模块的package.json中编写修复的依赖版本。

这些是替代解决方案,不符合我的要求:

  1. Writing the latest available versions到package.json。

  2. npm shrinkwrap将依赖项写入npm-shrinkwrap.json 而不是package.json

  3. 我不想使用shrinkwrap,因为它只是另一个工具和一个问题的附加配置文件,可以在没有的情况下解决。 或者可以调整shrinkwrap将所有版本从npm-shrinkwrap.json写入package.json?

2 个答案:

答案 0 :(得分:0)

我写了一个脚本,它从package.json语法中的shrinkwrap文件中提取版本:

node
var sw = require('/path/to/npm-shrinkwrap.json');
for (var key in sw.dependencies) { console.log('"' + key + '": "' + sw.dependencies[key].version + '",') }

但它很丑陋并且不适合开发依赖项。

答案 1 :(得分:0)

由于您的依赖项的依赖项也将获得更新,策略不是子弹证明。最好使用npm 5和https://docs.npmjs.com/files/package-locks收缩包裹或具有https://yarnpkg.com/lang/en/docs/yarn-lock/

的纱线