我正在尝试为我正在从事的新项目设置新的工作流程。我真的很想使用常规变更日志,但是目前我无法使其正常工作。
首先,我什至无法使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)。