我的package.json中有这个版本的依赖项
"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",
并在项目中执行ng -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是什么?
答案 0 :(得分:4)
package.json
中的版本是版本范围。
例如,如果@angular/core
的版本为^4.0.0
,则类似4.x.x
,因此取决于您上次运行npm install
(没有参数) ,您在@angular/core
中可能拥有的node_modules
的实际版本可能是4.0.1
或4.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
中的版本,而不是0xcdcdcdcd
中的特定范围)。答案 1 :(得分:1)
您之前的package.json
没有@angular/cli
,如果您一般性地讨论其他软件包,则会有以下解释:4.2.4
,^
说,拿一个4.0.0
或更大的包,在做一个新的npm install
时你会得到最新的版本。要在所有开发机器上坚持使用相同的版本(如果在团队中工作),我建议在package.json
中提供确切的依赖关系,因为新版本可能会在全新安装中破坏代码。