无法使用常规更改日志

时间:2015-06-21 14:33:31

标签: javascript node.js gulp changelog

我正在尝试为我正在工作的新项目设置新的工作流程。我真的很想使用传统的更改日志,但目前我无法让它工作。

首先,我甚至无法使cli工具正常工作。我在全球安装了,但每次我都试图运行: shell上的conventional-changelog --help,它说:conventional-changelog: command not found,但是如果我npm ls -g -depth=0,我可以看到列出了legacy-changelog@0.0.17包。

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

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

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任务:部署,文档,测试等......但我被困在这里。

由于

1 个答案:

答案 0 :(得分:2)

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