2017-03-05 72 views
2

几个星期前我开始了一个新的CLI项目,其中在中安装了CLI的v0.24.0 &框架。如何正确更新库部件

因为他们本周发布了一些更新(CLI v0.26.0,框架v1.1.0,...)我想知道如何正确地更新核心组件。

我有内以下aurelia依赖我package.json

{ 
    // ... 
    "dependencies": { 
    "aurelia-animator-css": "^1.0.0", 
    "aurelia-api": "^3.1.1", 
    "aurelia-authentication": "^3.2.0", 
    "aurelia-bootstrapper": "^1.0.0", 
    "aurelia-fetch-client": "^1.1.0", 
    // ... 
    }, 
    "devDependencies": { 
    "aurelia-cli": "^0.24.0", 
    "aurelia-testing": "^1.0.0-beta.2.0.0", 
    "aurelia-tools": "^0.2.2", 
    // ... 
    }, 
    // ... 
} 

相比于NPM最新版本的软件包以下是过时:

  • 奥里利亚-CLI 0.24.0,最新0.26.0
  • aurelia-animator-css 1.0.0,latest 1.0.1
  • 奥里利亚-引导程序1.0.0,最新2.1.0
  • 奥里利亚取客户端1.1.0,最新1.1.1
  • 奥里利亚-测试^1.0.0-beta.2.0.0,最新^1.0.0-beta.3.0.0
  • 奥里利亚工具0.2.2,最新1.0.0

由于所有的这些软件包使用caret version range,其中大多数软件包在运行npm update时不会自动更新到最新版本。

这里是我的问题

  1. 我必须在我的package.json手动更新每个提到包的版本时,我想提出的框架,以最新的状态呢? (似乎是显而易见的)
    • 我知道我可以内package.json使用类似tildex ranges但是这不正是我要找的,因为我想明确地允许新的版本进行安装,以确保其他开发人员或生成服务器将无法使用完全不同的版本...
  2. 是否有一些精简过程找出每个框架包的最新版本号我使用或我必须手动“抓取”正如我在写这个问题时所做的,来自npm.org的版本?
  3. aurelia-framework包在我的package.json文件中的任何地方都没有提及,它不会通过运行npm update自动更新。我如何实际更新它?

回答

5

的CLI文档说增加一个NPM脚本,您可以运行,那么所有更新到最新版本:

https://github.com/aurelia/framework/blob/master/doc/article/en-US/the-aurelia-cli.md#updating-multiple-libraries

这意味着将这样的东西添加到您的包中。JSON脚本部分:

"au-update": "npm i [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] -S", 

第一次升级它会在你的package.json将其添加引用,因此依赖GET节的很多大/添加那些缺失的嵌套的依赖关系。

另一种方法是使用NPM包对所有包执行这些检查npm check updates也是非Aurelia包。

,让你做的事:

ncu 

检查哪些软件包已经过时,并

ncu -u 

将它们全部升级到最新版本忽略semver限制。

+0

很好的回答! :-) –

+0

还没有看到关于更新的部分,因为它只在GitHub页面上,而不在[docs hubs]中(http://aurelia.io/hub.html#/doc/article/aurelia/framework/latest/the-aurelia-cli/9)... – suamikim

+1

还有一个问题:当它们在使用CLI创建新项目时,为什么并非所有在'package.json'中列出的'aurelia.json'中的所有依赖关系?无论如何都需要在路上随时添加? – suamikim