我一直在使用 Node 作为 CLI 工具开发一个即将发布的开源项目。 CLI 本身工作得很好我只需要测试它是否在另一个项目上工作,因此我在全局安装项目 npm install -g
没有错误,但对于我的生活我不能使用 CLI。
我收到以下错误:
奇怪的是目录和文件确实存在于全局 npm 文件夹中:
这是项目的package.json
:
我是不是不明白 npm/node CLI 是如何工作的?我缺少什么?
编辑 1:
这是我的 index.js 文件:
编辑 2:
按照@AngYC 的建议创建测试项目后,我可以成功使用测试 cli,同时检查差异时我发现了这一点。在 C:\Users\Ivan\AppData\Roaming\npm
中,两个项目的 .cmd 完全不同:
编辑 3(解决方案):
经过折腾我发现真正需要 shebang (#!/usr/bin/env node
) 的文件只是 index.js
文件而不是commander.js
一个。删除该文件中的 shebang 解决了问题
最佳答案
您可能想尝试将您的本地包链接
到您的全局可执行列表。
https://docs.npmjs.com/cli/link
您所要做的就是在您获得工具的文件夹中运行 npm link
,它应该使该命令在全局范围内可用。
关于javascript - 无法安装我自己的 npm 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47129302/