Node.js 如何创建全局可访问的nodejs cli
我正在尝试将我的Node.js 如何创建全局可访问的nodejs cli,node.js,npm,Node.js,Npm,我正在尝试将我的cli.js文件设置为全局cli: #!/usr/bin/env node // ---------------------------------- // CLI // // Command line tool // ---------------------------------- var program = require('commander'); var lib = require('../lib'); // <--- This may be an issu
cli.js
文件设置为全局cli:
#!/usr/bin/env node
// ----------------------------------
// CLI
//
// Command line tool
// ----------------------------------
var program = require('commander');
var lib = require('../lib'); // <--- This may be an issue
program
.version('0.0.1')
.usage('<cmd>')
.parse(process.argv);
console.log('Running');
运行npm install
后,我可以链接bin文件,但无法全局运行它。我的意思是,如果我转到另一个目录并运行
$cli
不仅相对路径无效(我需要注入lib
依赖项),我还需要再次链接文件
我想澄清一下,这就是我想要实现的目标:
Grunt和Gulp这样的库如何提供全局可用的命令行界面?请帮忙 我不直接使用相对路径,而是使用相对路径
- process.cwd()
- __文件名
- __肮脏的
这可能取决于您的项目特定需要,以及何时需要什么。在我的项目中,我使用advanced来构建所有路径,然后再使用它们。是否尝试将其安装在使用NPM安装这些全局CLI软件包的位置?因为当您使用
-g
安装时,您的硬盘上的某个位置安装了这些文件。您的代码在线吗?这样我就可以看一看,明白那里出了什么问题。啊!!我相信我误解了你的问题,不是关于加载相关资源,而是代码本身。让我找出一些有用的东西。
...
"bin": {"cli":"./bin/cli.js"}
..