2017-03-05 74 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