В VSCode Cordova Tools не может получить доступ к серверу Ionic Live Reload с ошибкой EADDRNOTAVAIL при запуске эмулятора Android - PullRequest
0 голосов
/ 17 января 2019

Я разрабатываю приложение для Ionic3 с использованием VSCode, в котором установлены инструменты cordova.

Я хочу использовать «ионную прямую перезагрузку».

Когда я выбираю «Запустить Android на эмуляторе» и нажимаю кнопку «Выполнить», возникает следующая ошибка.

[cordova-tools] Ошибка обработки «запуска»: ошибка в Ionic Live перезагрузить сервер: ошибка: прослушать EADDRNOTAVAIL: адрес недоступен fe80 :: 1: 8100 at Server.setupListenHandle [как _listen2] (net.js: 1273: 19) в listenInCluster (net.js: 1338: 12) в doListen (net.js: 1469: 7) в process.internalTickCallback (internal / process / next_tick.js: 72: 19) код: 'EADDRNOTAVAIL', номер ошибки: 'EADDRNOTAVAIL', системный вызов: 'listen', адрес: 'fe80 :: 1', порт: 8100}

Как я могу решить это? Есть идеи?

Я уже пробовал:

  • изменить "devServerPort" в файле launch.json на случайные
  • заменить "devServerAddress" в файле launch.json на "localhost", "127.0.0.1" и "fe80 :: 1"
  • уничтожить все процессы узла командой "killall node"

но ничего не решено.

Когда я изменил адрес сервера на случайный, ошибка изменилась, чтобы я мог ввести действительный адрес.

Когда я уничтожал процессы узлов, я проверял, что процессы были уничтожены с помощью команды "ps aux | grep node" и Activity Monitor.


Это мой launch.json об эмуляторе Android.

{
    "version": "0.2.0",
    "configurations": [
    ...
        {
            "name": "Run Android on emulator",
            "type": "cordova",
            "request": "launch",
            "platform": "android",
            "target": "emulator",
            "port": 9222,
            "sourceMaps": true,
            "cwd": "${workspaceFolder}",
            "ionicLiveReload": true,
        },
        ...
    ]
}

package.json

{
  "name": "todo",
  "version": "0.0.1",
  "author": "Ionic Framework",
  "homepage": "http://ionicframework.com/",
  "private": true,
  "scripts": {
    "clean": "ionic-app-scripts clean",
    "build": "ionic-app-scripts build",
    "lint": "ionic-app-scripts lint",
    "ionic:build": "ionic-app-scripts build",
    "ionic:serve": "ionic-app-scripts serve"
  },
  "dependencies": {
    "@angular/animations": "5.2.10",
    "@angular/common": "5.2.10",
    "@angular/compiler": "5.2.10",
    "@angular/compiler-cli": "5.2.10",
    "@angular/core": "5.2.10",
    "@angular/forms": "5.2.10",
    "@angular/http": "5.2.10",
    "@angular/platform-browser": "5.2.10",
    "@angular/platform-browser-dynamic": "5.2.10",
    "@ionic-native/core": "4.11.0",
    "@ionic-native/local-notifications": "4.11.0",
    "@ionic-native/splash-screen": "4.11.0",
    "@ionic-native/status-bar": "4.11.0",
    "@ionic/storage": "2.1.3",
    "cordova-android": "7.0.0",
    "cordova-plugin-badge": "^0.8.7",
    "cordova-plugin-device": "^2.0.2",
    "cordova-plugin-ionic-keyboard": "^2.0.5",
    "cordova-plugin-ionic-webview": "^1.1.19",
    "cordova-plugin-local-notification": "^0.9.0-beta.2",
    "cordova-plugin-splashscreen": "^5.0.2",
    "cordova-plugin-whitelist": "^1.3.3",
    "cordova-sqlite-storage": "^2.3.1",
    "ionic-angular": "3.9.2",
    "ionicons": "3.0.0",
    "rxjs": "5.5.10",
    "sw-toolbox": "3.6.0",
    "zone.js": "0.8.26"
  },
  "devDependencies": {
    "@ionic/app-scripts": "3.1.11",
    "typescript": "~2.6.2"
  },
  "description": "An Ionic project",
  "cordova": {
    "plugins": {
      "cordova-sqlite-storage": {},
      "cordova-plugin-whitelist": {},
      "cordova-plugin-device": {},
      "cordova-plugin-splashscreen": {},
      "cordova-plugin-ionic-webview": {},
      "cordova-plugin-ionic-keyboard": {},
      "cordova-plugin-local-notification": {}
    },
    "platforms": [
      "android"
    ]
  }
}

Мои окружения

  • macOS Mojave версия 10.14.2
  • Ионная версия CLI 4.8.0
  • Код Visual Studio версии 1.30.2
  • Android Debug Bridge версия 1.0.40
  • Android Studio версии 3.2.1
...