如何从命令行运行Node.js程序,而无需单词'node'

问题描述:

我正在开发Node.js包,其中包含一个命令行实用程序。现在alacon.js位于包的根目录下。要运行这个工具我有实用程序的名称前使用单词node,如:如何从命令行运行Node.js程序,而无需单词'node'

node alacon 'SELECT * FROM CSV("mydata.csv") ORDER BY 2' 

你能帮助我,我应该在包装更改为:

1.To运行该工具,而不node字,如:

alacon 'SELECT * FROM CSV("mydata.csv") ORDER BY 2' 

2.To全球安装该软件包,而无处不在使用该工具的计算机上:

npm install -g alasql 
alacon 'SELECT 2*2' 

换句话说,如何使用命令行程序创建像Jison,Gulp和其他Node.js类似包的实用程序。

我已经将#!/usr/bin/env node行添加到文件的顶部,但不幸的是没有预期的效果。

谢谢!

您将需要使脚本可执行chmod a+x alacon

然后如果你想调用脚本,而不./,那么你将需要移动它(或符号链接的话)到/ usr/bin中,你应该能够运行./alacon 'SELECT * FROM CSV("mydata.csv") ORDER BY 2'

另外 - 你可以创建一个别名:alias alacon="node alacon"

+0

谢谢!你知道吗,如何改变全球安装的软件包? – agershun