2
我試圖安裝一個我剛剛使用npm編寫的自定義模塊。我希望能夠像我的電腦上的其他命令一樣運行它。節點 - 運行全局安裝的自定義模塊
其稱爲 「NAWK」
的package.json
{
"name": "nawk",
"preferGlobal": true,
"version": "0.0.1",
"author": "My Name <[email protected]>",
"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');'
頂部我從未有過這個問題(我只寫了一個模塊NPM),MAIS由於文件encodage。 – Vadorequest