«Нет такого файла или каталога» при запуске команды из сценария NPM - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть простая команда, которую я хотел бы использовать в своих сценариях NPM.Команда:

cat ./path/**/*.css > ./other/path/plugins.css

Если я запускаю это в моем терминале, это работает.Однако если я добавлю его в сценарий NPM, например, так:

"scripts" {
     "cat": "cat ./path/**/*.css > ./other/path/plugins.css"
}

Я не получу такой файл или каталог.

Есть идеи, в чем может быть причина?

Спасибо!

1 Ответ

0 голосов
/ 07 декабря 2018

Причина, по которой это не работает, в том, что cat принимает имена файлов в качестве параметров, а звездочки (glob) преобразуются в имена файлов вашей оболочкой (скорее всего, bash).

Причина, по которой это не работаетсценарий npm объясняется тем, что он не запускается в оболочке, которая поддерживает функции, которые вы хотите использовать (расширение glob, перенаправление stdout в файл).

Чтобы решить эту проблему, просто запустите его в экземпляре bash:

"scripts" {
     "cat": "bash -c 'cat ./path/**/*.css > ./other/path/plugins.css'"
}
...