在我的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中的“角”的当前版本是什么?
发布于 2017-07-09 08:04:33
package.json中的版本是版本范围。
例如,如果@angular/core的版本是^4.0.0,这类似于4.x.x,因此根据您上次运行npm install (没有参数)的时间,您在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。
您还将拥有@angular/cli的全局安装(不特定于具有@angular/cli文件的项目)。您可以通过运行npm ls -g @angular/cli来检查其版本。
这与ng -v非常接近。ng -v告诉您的是:
@angular/cli的全局安装版本是什么?@angular/cli的本地安装版本是什么( node_modules中的版本,而不是package.json中特定的范围)。
如果两者都有,这一点很重要,因为两者的不同版本可能会导致问题。发布于 2017-07-06 14:51:57
您以前的package.json没有@angular/cli,如果您谈到其他包,这将是一个解释:4.2.4,^说,带一个包4.0.0或更大的包,同时做一个新的npm install,您会得到最新的版本。为了在所有开发机器上坚持相同的版本(如果在一个团队中工作),我建议在package.json中提供精确的依赖关系,因为新版本可能会在新安装时破坏代码。
https://stackoverflow.com/questions/44952030
复制相似问题