Как исправить ошибку "Не удалось обнаружить версию Mac OS X с выхода sw_vers:" 10.12 "из Appium

Я установил appium-1.5.3.dmg Но когда я нажимаю кнопку стетоскопа, Appium показывает ошибку:

 ✔ Xcode is installed at: /Library/Developer/CommandLineTools
[Error: Could not detect Mac OS X Version from sw_vers output: '10.12
']

enter image description here

Спасибо!

Ответ 1

Это работало для меня.

Вы можете настроить файл с помощью этой команды:

  • grep -rl "Не удалось обнаружить версию Mac OS X с выхода sw_vers:"/Applications/Appium.app/

enter image description here

  • Терминал покажет: /Applications/Appium.app//Contents/Resources/node_modules/appium/node_modules/appium-support/build/lib/system.js/Applications/Appium.app//Contents/Resources/node_modules/appium/node_modules/appium-support/lib/system.js/Applications/Appium.app//Contents/Resources/node_modules/appium-support/build/lib/system.js/Applications/Appium.app//Contents/Resources/node_modules/appium -поддержка /Library/system.js

  • Используйте команду vim и настройте каждый файл.

пример

vim /Applications/Appium.app//Contents/Resources/node_modules/appium/node_modules/appium-support/build/lib/system.js

enter image description here

Файл конфигурации:

enter image description here

  1. Изменить От ->

    case 10: _arr = ['10.8', '10.9', '10.10', '10.11']; _i = 0;

    To ->

    case 10: _arr = ['10.8', '10.9', '10.10', '10.11','10.12']; _i = 0;


vim /Applications/Appium.app//Contents/Resources/node_modules/appium/node_modules/appium-support/lib/system.js

enter image description here

Файл конфигурации:

enter image description here

  1. Изменить От ->

    try { stdout = (await exec('sw_vers', ['-productVersion'])).stdout; }

    To ->

    try { stdout = (await exec('sw_vers', ['-productVersion'])).stdout.trim(); }

  2. Изменить От ->

    for (let v of ['10.8', '10.9', '10.10', '10.11']) { if (stdout.indexOf(v) === 0) { return v; } }

    To ->

    for (let v of ['10.8', '10.9', '10.10', '10.11','10.12']) { if (stdout.indexOf(v) === 0) { return v; } }


vim /Applications/Appium.app//Contents/Resources/node_modules/appium-support/build/lib/system.js

enter image description here

Файл конфигурации:

enter image description here

  1. Изменить От ->

    case 10: _arr = ['10.8', '10.9', '10.10', '10.11']; _i = 0;

    To ->

    case 10: _arr = ['10.8', '10.9', '10.10', '10.11','10.12']; _i = 0;


vim /Applications/Appium.app//Contents/Resources/node_modules/appium-support/lib/system.js

enter image description here

Файл конфигурации:

enter image description here

  1. Изменить От ->

    try { stdout = (await exec('sw_vers', ['-productVersion'])).stdout; }

    To ->

    try { stdout = (await exec('sw_vers', ['-productVersion'])).stdout.trim(); }

  2. Изменить От ->

    for (let v of ['10.8', '10.9', '10.10', '10.11']) { if (stdout.indexOf(v) === 0) { return v; } }

    To ->

    for (let v of ['10.8', '10.9', '10.10', '10.11','10.12']) { if (stdout.indexOf(v) === 0) { return v; } }

Нажмите кнопку запуска стетоскопа

enter image description here

Ответ 2

Я прошел вышеописанные шаги, хотя я видел, что это уже исправлено appium.

Просто беги:

npm install appium-doctor -g

для обновления самого аппиума-врача, затем выполните:

appium-doctor

снова, чтобы увидеть, как он работает.

До и после исправления:

enter image description here