скрипт запуска npm <был неожиданным - PullRequest
1 голос
/ 21 марта 2019

Недавно я прочитал статью о создании журнала изменений, и я хотел интегрировать его в скрипт package.json.

Я немного изменил сценарий из статьи с правильным именем проекта и экспортировал вывод в CHANGELOG.md

 "scripts": {
    "generateChangelog": "git log --pretty=format:'<li> <a href=\"http://git.egt-interactive.com/frontend-games/temporary-test-project/commit/%H\">view commit &bull;</a> %s</li> ' --reverse > CHANGELOG.md"
 },

Но когда я запускаю его, у меня появляется следующая ошибка:

< was unexpected at this time.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! temporary-test-project@1.0.0 generateChangelog: `git log --pretty=format:'<li> <a href="http://git.egt-interactive.com/frontend-games/temporary-test-project/commit/%H">view commit &bull;</a> %s</li> ' --reverse > CHANGELOG.md`
npm ERR! Exit status 1

Я думаю, это что-то с побегом, но я не могу его найти.

Был бы рад некоторой помощи. Заранее спасибо


EDIT

Я работаю с Windows и по умолчанию я использую Powershell, но я попытался запустить сценарий npm run generateChangelog с помощью cmd (оба не удалось)

Однако, если я запускаю ту же самую команду git log... непосредственно в оболочке, она работает:

git log --pretty=format:'<li> <a href=\"http://git.egt-interactive.com/frontend-games/temporary-test-project/commit/%H\">view commit &bull;</a> %s</li> ' --reverse > CHANGELOG.md`

1 Ответ

0 голосов
/ 22 марта 2019

Я думаю, что это что-то с побегом, но я не могу его найти.

Да, вы правы, это проблема с выходом.

Измените свой сценарий с именем generateChangelog в разделе scripts вашего package.json на следующий:

"scripts": {
  "generateChangelog": "git log --pretty=format:\"<li> <a href=\\\"http://git.egt-interactive.com/frontend-games/temporary-test-project/commit/%H\\\">view commit &bull;</a> %s</li> \" --reverse > CHANGELOG.md"
},

Обратите внимание на изменения:

  • Одинарные кавычки (') заменены на двойные кавычки JSON (\")

  • Двойные кавычки JSON (\") заменены на (\\\")

git log --pretty=format:\"<li> <a href=\\\"http://git.egt-interactive.com/frontend-games/temporary-test-project/commit/%H\\\">view commit &bull;</a> %s</li>\" --reverse > CHANGELOG.md
                        ^^             ^^^^                                                                              ^^^^                               ^^

Запуск $ npm run generateChangelog теперь должен успешно выполняться через:

  • Windows Powershell
  • Командная строка Windows (cmd.exe)
  • Windows Git Bash
  • * Nix инструменты командной строки
...