我正在尝试为我正在工作的新项目设置新的工作流程。我真的很想使用传统的更改日志,但目前我无法让它工作。
首先,我甚至无法使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任务:部署,文档,测试等......但我被困在这里。
由于
答案 0 :(得分:2)
问题是他们的文档仅反映了当前主分支中的代码状态。最后一个版本发布于4月,当时the exported function did not return anything(因此您看到undefined
错误)。您可以尝试从主分支(npm install https://github.com/ajoslin/conventional-changelog/tarball/master
)进行安装,或使用上次发布时可用的文档(撰写本文时为v0.0.17)。