我正在尝试为我正在从事的新项目设置新的工作流程。我真的很想使用常规变更日志,但是目前我无法使其正常工作。

首先,我什至无法使cli工具正常工作。我确实在全球安装,但是每次尝试运行时:
在外壳上的conventional-changelog --help上说:conventional-changelog: command not found,但是如果我使用npm ls -g -depth=0,则可以看到列出的常规包[email protected]

我遇到的另一个问题是我无法创建变更日志。

我已经在角度格式上做了一些提交(实际上只有一个)。就像这样:

feat(): onUrlChange event (popstate/hashchange/polling)

(这是从文档复制的示例,用于调试)

我在根目录上也有一个CHANGELOG.md空文件,并使用以下命令创建了一个test.js:

var conventionalChangelog = require('conventional-changelog');

conventionalChangelog({
  preset: 'angular'
})
  .pipe(process.stdout);


每当运行节点测试我得到:

conventionalChangelog().pipe(process.stdout);
                       ^
TypeError: Cannot read property 'pipe' of undefined
    at Object.<anonymous> (/Users/antonio/Projects/cabesa/test.js:45:24)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3


有什么建议可以把我放在正确的位置吗?

我的最终目标是创建一些自动处理所有流程的gulp任务:部署,文档编制,测试等,但是我被困在这里。

谢谢

最佳答案

问题在于它们的文档仅反映了master分支中当前代码的状态。最新版本是4月,即the exported function did not return anything(因此您会看到undefined错误)。您可以尝试从master分支(npm install https://github.com/ajoslin/conventional-changelog/tarball/master)进行安装,也可以使用最近发行版时可用的文档(本文撰写时为v0.0.17)。

10-06 10:15