javascript - 无法安装我自己的 npm 包

标签 javascript node.js npm

我一直在使用 Node 作为 CLI 工具开发一个即将发布的开源项目。 CLI 本身工作得很好我只需要测试它是否在另一个项目上工作,因此我在全局安装项目 npm install -g 没有错误,但对于我的生活我不能使用 CLI。

我收到以下错误:

node command not working

奇怪的是目录和文件确实存在于全局 npm 文件夹中:

directory exists

这是项目的package.json:

package.json

我是不是不明白 npm/node CLI 是如何工作的?我缺少什么?

编辑 1:

这是我的 index.js 文件:

index.js file

这是 commander.js 文件:
command.js file

编辑 2:

按照@AngYC 的建议创建测试项目后,我可以成功使用测试 cli,同时检查差异时我发现了这一点。在 C:\Users\Ivan\AppData\Roaming\npm 中,两个项目的 .cmd 完全不同:

enter image description here

编辑 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/

相关文章:

javascript - Node js 服务器未加载我的网站文件

javascript - 设置切割中的最大值

javascript - jQuery - 在代码行之前查找特定元素

javascript - browser.explorer() 与在 Protractor 中调试的旧方法

javascript - jquery 缓动后 href 导航链接不起作用

npm - 如何防止在 node_modules 中嵌套 node_modules

node.js - Heroku webpack部署端口绑定(bind)错误

javascript - Bootstrap 折叠 - 如何添加取决于折叠状态或不折叠状态的附加点击行为

node.js - 全局安装项目的依赖项并在没有 `node_modules/` 的情况下运行项目——如何?

javascript - 在对象上调用匿名函数