Сценарий запуска npm <был неожиданным

Недавно я прочитал статья о создании журнала изменений и хотел интегрировать его в скрипт 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! [email protected] 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

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

Был бы рад помощи. заранее спасибо


РЕДАКТИРОВАТЬ

Я работаю над 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`

Вы пытались использовать это так? git log --pretty=format:'<li> <a href = "http://git.egt-interactive.com/frontend-games/temporar‌​y-test-project/commi‌​t/%H">view commit &bull;</a> %s</li> ' --reverse > CHANGELOG.md

Gilles Heinesch 21.03.2019 16:04

@GillesHeinesch впервые копирует его, но я не думаю, что это действительно правильный JSON, или, по крайней мере, мой редактор выделил его красным вот так

Yordan Kanchelov 21.03.2019 16:17

Вы пытались использовать мой код из моего комментария?

Gilles Heinesch 21.03.2019 16:20

@GillesHeinesch да, но выдает другое исключение npm ERR! код EJSONPARSE npm ОШИБКА! JSON.parse Не удалось разобрать json

Yordan Kanchelov 21.03.2019 16:50
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
4
761
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

I think it's something with the escaping, but I can't find it.

Да, вы правы, это проблема побега.

Измените свой скрипт с именем generateChangelog в разделе scripts вашего пакет.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 Баш
  • Инструменты командной строки *Никс

Другие вопросы по теме