Кроссплатформенное решение для распараллеливания оболочки
У меня было немного времени, чтобы поискать больше в теме.На самом деле существуют инструменты распараллеливания для сценариев npm и shell, которые являются кроссплатформенными:
Была инициатива объединить все эти проекты с другими, которая была более или менее успешной: https://github.com/mysticatea/npm-run-all/issues/10. По словам одного из участников npm-run-теперь все отлично, с другой стороны, репозиторий npm-run-all в настоящее время не кажется таким активным, поэтому, вероятно, лучше использовать одновременно или shell-executor.
настройки WebStorm / Git bashрешение
Я установил для терминала WebStorm git bash вместо cmd.exe:
File/Settings > Tools/Terminal > Shell path: "C:\Program Files\Git\bin\bash.exe" > Ok
И я изменил скрипт npm для запуска с bash:
"scripts": {
"test": "bash -c \"node test/server/index.js & karma start karma.conf.js\""
},
Надеюсь, команды bash работают одинаково и в Linux, я должен проверить с Трэвисом, но есть очень хороший шанс.
Использование команды bash для файла sh также работает:
"scripts": {
"test": "bash test.sh"
},
Является ли конфигурация оболочки npm возможным решением?
Интересно, что без использования команды bashверхнее решение не сработало.Вероятно, npm запустил его с cmd.exe, и он открыл bash.exe в новом окне, когда проверил заголовок и понял, что это скрипт bash.И да, я проверил, и он использует cmd.exe по умолчанию:
$ npm config ls -l | grep shell
shell = "C:\\Windows\\system32\\cmd.exe"
Так что другим вариантом может быть установка оболочки npm на git bash, и после этого мне не нужно использовать bash
в моих сценариях.
npm config set shell "C:\Program Files\Git\bin\bash.exe"
Ну, я сделал именно это, но ничего не изменилось.Мне все еще нужно использовать bash
в моих скриптах, и файл sh по-прежнему открывается в новом окне.Это не имеет большого значения, нам все еще нужны настройки Webstorm для запуска скрипта с bash, поэтому это не решение .