NPM 不会自动为我设置 cmdlet?

问题描述

这是我第一次遇到这种情况。

我正在尝试安装文档生成器 (docma),出于某种原因,我遵循了他们在文档中所说的所有内容,但无法执行“docma”或“docma serve”,它说它未被识别为一个 cmdlet,在我的 Linux 机器上尝试过,它也没有被识别为命令,所以我无法提供我的文档,开发人员几年前就停止支持了。

提前致谢

编辑:我应该补充一点,我没有得到 node_modules 文件

解决方法

如果您的项目没有 package.json 文件,请创建一个:

npm init

(如果你不关心 package.json 文件的内容是什么,那么你可以用 npm init -y 接受所有默认值,而不是回答命令会问你的问题。)

文档说在这样的项目中安装 docma

npm i docma -D

这样做。如果您还没有,这将创建一个 node_modules 目录。

从那里,docma 文档中的所有命令都可以从命令行执行,如果您在它们之前加上 npx。因此,在显示 docma 的地方,您可以使用 npx docma。在它说 docma serve 的地方,您可以使用 npx docma serve。 (你需要在你的项目目录中才能工作!)

另一种解决方案是全局安装 docma (npm i docma -g),但这有其自身的风险和复杂性(例如在某些情况下需要提升权限)。我上面描述的是 (IMO) 更安全、更好。