[英]Node - running a globally installed custom module
我正在嘗試安裝一個我剛用npm編寫的自定義模塊。 我希望能夠像我的計算機上的任何其他命令一樣運行它。
它被稱為“nawk”
的package.json
{
"name": "nawk",
"preferGlobal": true,
"version": "0.0.1",
"author": "My Name <xxxxxxxxxx@gmail.com>",
"description": "a simpler version of awk",
"bin": {
"nawk": "./index.js"
},
"scripts": {
"start": "node index"
},
"dependencies" : {
},
"license": "MIT",
"engines": {
"node": ">=0.6"
}
}
index.js
require('fs');
var readline = require('readline');
var args = process.argv;
args.shift();
args.shift();
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
terminal: false
});
rl.on('line', function (line) {
var message = '';
var tokens = line.split(/\s+/);
process.argv.forEach(function(index){
index = +index;
var val = null;
if(index >= 0){
val = tokens[+index];
} else {
val = tokens[tokens.length + +index - 1];
}
if(val){
message += val + '\t';
}
});
if(message){
console.log(message);
}
});
我可以很好地安裝它,但是當我去運行它時,我在第一行遇到語法錯誤。 當我從目錄運行時,這不會發生。
我像這樣安裝它
> sudo npm install -g $(pwd)
然后我嘗試像這樣運行它。
> echo hi how are you | nawk 0 -1
/usr/local/share/npm/bin/nawk: line 1: syntax error near unexpected token `'fs''
/usr/local/share/npm/bin/nawk: line 1: `require('fs');'
我需要將它添加到索引文件的頂部
#!/usr/bin/env node
require('fs');
var readline = require('readline');
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.