2017-07-06 35 views
1

我有我的package.json這個版本的依賴角CLI是什麼樣的package.json的版本和NG -v

"dependencies": { 
    "@angular/animations": "^4.1.3", 
    "@angular/common": "^4.0.0", 
    "@angular/compiler": "^4.0.0", 
    "@angular/core": "^4.0.0", 
    "@angular/forms": "^4.0.0", 
    "@angular/http": "^4.0.0", 
    "@angular/platform-browser": "^4.0.0", 
    "@angular/platform-browser-dynamic": "^4.0.0", 
    "@angular/router": "^4.0.0", 


"devDependencies": { 
    "@angular/cli": "1.0.6", 
    "@angular/compiler-cli": "^4.0.0", 

,並在項目執行時,納克的區別-v

$ ng -v 
@angular/animations: 4.2.4 
@angular/common: 4.2.4 
@angular/compiler: 4.2.4 
@angular/core: 4.2.4 
@angular/forms: 4.2.4 
@angular/http: 4.2.4 
@angular/platform-browser: 4.2.4 
@angular/platform-browser-dynamic: 4.2.4 
@angular/router: 4.2.4 
@angular/cli: 1.0.6 
@angular/compiler-cli: 4.2.4 

項目4.0.0或4.2.4中的@angular的當前版本是什麼?

回答

4

package.json中的版本是版本範圍。

例如,如果@angular/core版本有^4.0.0,這就像4.x.x,所以這取決於你跑npm install(不帶參數)最後一次,你可能在node_modules@angular/core實際版本可能4.0.14.2.5

另一個例子是typescript。它可能會在package.json中顯示爲~2.3.0,與2.3.x類似,您的實際版本可能爲2.3.4

您可以通過運行npm ls,例如npm ls typescript將顯示typescript軟件包的所有版本直接從package.json叫,或者未來作爲另一個包的依賴檢查真正安裝包的版本。

Angular/cli版本在您提供的package.json中非常具體,並且設置爲1.0.6

您還將擁有一個全局安裝(並非特定於具有package.json文件的項目)@angular/cli。您可以通過運行npm ls -g @angular/cli來檢查其版本。

這非常接近ng -v。什麼ng -v告訴你的是:

  • 什麼是全球的裝機量的@angular/cli
  • 版本什麼的@angular/cli本地安裝的版本(一個在node_modules,不特定在package.json的範圍內)。
    這對於您同時擁有兩個可能導致問題的不同版本都很重要。
  • 什麼是您需要確保同步的其他Angular軟件包的本地安裝版本(不是範圍)
1

你以前package.json沒有@angular/cli,如果你談論其他一般的包,這將是解釋:這是4.2.4^說,採取包4.0.0或大於,同時做一個新鮮npm install你會得到最新版本。要堅持所有開發機器上的相同版本(如果在一個團隊中工作),我會建議給出確切的依賴關係package.json因爲新版本可能會破壞全新安裝中的代碼。

相關問題