簡體   English   中英

npm run script < 出乎意料

[英]npm run script < was unexpected

我最近閱讀了一篇關於生成變更日志的文章,我想將它集成到 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

我認為這與逃避有關,但我找不到。

很高興能得到一些幫助。 提前致謝


編輯

我在 Windows 上工作,默認情況下,我使用的是 Powershell,但我也嘗試使用 cmd 運行npm run generateChangelog腳本(都失敗了)

但是,如果我直接在 shell 中運行相同的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`

我認為這與逃避有關,但我找不到。

是的,你是對的,這是一個逃避問題。

package.jsonscripts部分中名為generateChangelogscripts更改為以下內容:

"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命令行工具

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM