Node npm package throw use strict: команда не найдена после публикации и установки globaly

Я пытаюсь опубликовать пакет npm, когда я устанавливаю пакет по всему миру и пытаюсь запустить команду cli, я получаю следующие ошибки:

/.nvm/versions/node/v0.12.2/bin/myPack: line 1: use strict: command not found
/.nvm/versions/node/v0.12.2/bin/myPack: line 3: syntax error near unexpected token `('
/.nvm/versions/node/v0.12.2/bin/myPack: line 3: `var _commandLineArgs = require('command-line-args');'

Верхняя часть файла, к которой относится ошибка:

'use strict';

var _commandLineArgs = require('command-line-args');

var _commandLineArgs2 = _interopRequireDefault(_commandLineArgs);

Раздел package.json bin:

  "bin": {
    "myPack": "dist/myPack.js"
  }

Когда я запускаю это в своей локальной разработке, это хорошо работает, в чем проблема?

Ответ 1

Ваш script должен начинаться с строки shebang, иначе он будет выполнен как оболочка script (следовательно, ошибки).

Добавьте это как первую строку в dist/myPack.js:

#!/usr/bin/env node