javascript - 带有 git 样式子命令的 npm 链接

标签 javascript node.js command-line-interface node-commander

我在使用 npm link 和使用 commander 构建的 nodejs cli 工具时遇到问题.

使用 commander 制作一个 git 风格的子命令风格的 cli 工具我有这些文件:

foo.js

foo-config.js

还有 foo.js(主文件是这样的)

#!/usr/bin/env node  
'use strict';

var program = require('commander');
var pkg = require('./package.json');

program
  .version(pkg.version)
  .command('config', 'Creates default configuration files')
  .parse(process.argv);

我的 package.json 有这个配置

"bin": {
  "foo": "foo.js"
}

当我运行 npm link 时,它成功创建了符号链接(symbolic link)。我什至可以运行命令并看到 config cmd 出现在帮助菜单中。

但是,当我尝试运行 $ foo config 时,我收到以下消息

foo-config(1) does not exist, try --help

我现在该怎么办?

最佳答案

文件 foo-config.js 应命名为 foo-config,不带扩展名。

此外,如果全局安装所有可执行文件应该是 chmod 755

关于javascript - 带有 git 样式子命令的 npm 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29244386/

相关文章:

PHP CLI、Windows 7 CMD 和 CLS/FF 需要和谐相处。 (从 CLI 使用 PHP 清除 Win7 CMD)

安装后php命令行没有响应

c# - 从 Mono 应用程序与 CLI 应用程序交互

javascript - 重构遗留的基于 mixin 的类层次结构

javascript - 如何处理 http.get 响应中未捕获的异常

javascript - 使用 npm 终端的 npm 脚本奇怪行为

javascript - 具有动态变量的正则表达式

javascript - 箭头函数中 Object.values() 的未知行为

javascript - Javascript 中的 Splice 函数向我的数组添加 4 个空行?

Javascript 变量作用域之谜