ionic - 关于版本的混淆

Posted

技术标签:

【中文标题】ionic - 关于版本的混淆【英文标题】:ionic - Confusion about the version 【发布时间】:2018-02-07 20:17:48 【问题描述】:

这是我从客户那里得到的package.json


  "name": "ionic-hello-world",
  "author": "Ionic Framework",
  "homepage": "http://ionicframework.com/",
  "private": true,
  "scripts": 
    "clean": "ionic-app-scripts clean",
    "build": "ionic-app-scripts build",
    "ionic:build": "ionic-app-scripts build",
    "ionic:serve": "ionic-app-scripts serve"
  ,
  "dependencies": 
        "@angular/animations": "^4.1.3",
        "@angular/common": "4.1.3",
        "@angular/compiler": "4.1.3",
        "@angular/compiler-cli": "4.1.3",
        "@angular/core": "4.1.3",
        "@angular/forms": "4.1.3",
        "@angular/http": "4.1.3",
        "@angular/platform-browser": "4.1.3",
        "@angular/platform-browser-dynamic": "4.1.3",
        "@angular/platform-server": "4.1.3",
        "@ionic-native/core": "3.12.1",
        "@ionic-native/device": "^3.12.1",
        "@ionic-native/file-opener": "^3.12.1",
        "@ionic-native/geolocation": "^3.12.1",
        "@ionic-native/status-bar": "^3.12.1",
        "@ionic/storage": "2.0.1",
        "@ng-idle/core": "^2.0.0-beta.8",
        "@ng-idle/keepalive": "^2.0.0-beta.8",
        "@types/ibm-mobilefirst": "0.0.28",
        "@types/jquery": "^3.2.6",
        "ajv": "^5.2.2",
        "ionic-angular": "^3.5.0",
        "ionicons": "3.0.0",
        "ng2-translate": "^4.2.0",
        "rxjs": "5.4.0",
        "sw-toolbox": "3.6.0",
        "typings": "^2.1.1",
        "zone.js": "0.8.12"
  ,
  "devDependencies": 
        "@ionic/app-scripts": "^2.0.0",
        "grunt": "^1.0.1",
        "grunt-cli": "^1.2.0",
        "grunt-contrib-clean": "^1.1.0",
        "grunt-contrib-jshint": "^1.0.0",
        "grunt-contrib-watch": "^1.0.0",
        "grunt-contrib-copy": "^1.0.0",
        "grunt-exec": "^0.4.6",
        "grunt-file-exists": "^0.1.4",
        "grunt-include-replace": "^4.0.1",
        "grunt-string-replace": "^1.2.1",
        "grunt-template": "^0.2.3",
        "typescript": "2.3.4"
  ,
  "cordovaPlugins": [
    "ionic-plugin-keyboard",
    "cordova-plugin-whitelist",
    "cordova-plugin-console",
    "cordova-plugin-statusbar",
    "cordova-plugin-device",
    "cordova-plugin-splashscreen"
  ],
  "cordovaPlatforms": [
    "ios",
    
      "platform": "ios",
      "version": "",
      "locator": "ios"
    
  ],
  "description": "online_registration: An Ionic project"

当我尝试npm install 时,我收到了这个警告:

npm WARN @angular/animations@4.3.6 需要一个 @angular/core@4.3.6 但没有安装。 npm 警告 @angular/platform-server@4.1.3 需要一个对等点 @angular/animations@4.1.3 但没有安装。 npm 警告 @ionic-native/splash-screen@3.1.0 需要对等 @ionic-native/core@3.1.0 但没有安装。 npm 警告 @ionic-native/splash-screen@3.1.0 需要对等 @angular/core@2.4.8 但没有安装。 npm 警告 @ionic-native/splash-screen@3.1.0 需要一个 rxjs@5.0.1 但是 没有安装。 npm WARN grunt-template@0.2.3 需要一个对等点 grunt@~0.4.0 但没有安装。 npm 警告 ng2-translate@4.2.0 需要 @angular/core@^2.0.0 的对等点,但没有安装。 npm 警告 ng2-translate@4.2.0 需要 @angular/http@^2.0.0 的对等点,但 没有安装。

    这有多重要?

    然后我查看ionic info

cli 包:(/Users/xxx/.nvm/versions/node/v6.9.1/lib/node_modules)

@ionic/cli-utils  : 1.9.2
ionic (Ionic CLI) : 3.9.2

全局包:

Cordova CLI : 6.4.0 

本地包:

@ionic/app-scripts : 2.1.4
Cordova Platforms  : android 6.1.2 ios 4.1.1
Ionic Framework    : ionic-angular 3.6.0

它似乎没有跟随package.jsonionic-angular^3.5.0。这是正确的吗?

【问题讨论】:

【参考方案1】:

您只需要删除node_modules 文件夹,然后运行npm i。希望一切都会好起来的。

【讨论】:

以上是关于ionic - 关于版本的混淆的主要内容,如果未能解决你的问题,请参考以下文章

NodeJS:关于异步“readdir”和“stat”的混淆

关于Android混淆文件统一管理

关于 applicationDidBecomeActive 和 applicationWillEnterForeground 的混淆

关于超类引用和子类对象的混淆

关于函数定义的混淆

关于AndroidStudio混淆配置,简单的整理(转)