簡體   English   中英

節點 - 運行全局安裝的自定義模塊

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM