2015-12-01 4 views
1

Я установил этот во всем мире, однако он терпит неудачу с ошибкой при запуске из-за ошибки зависимостей, однако если я запускаю свою локальную копию, выполнив командуNPM-глобально установленный пакет не работает

node ./bin/xl-json 

работает команду , Я считаю, что при запуске команды npm i -g xl-json зависимости не устанавливаются должным образом. Любые идеи, почему один способ работает, а другой - нет?

ответ

1

Причина, по которой она не работает, состоит в том, что она не является [точно] той же самой командой, с которой вы работаете.

Если посмотреть на ошибки, которые Вы видите:

if (cptable === 'undefined') cptable = require('./dist/cpexcel'); 
            ^

ReferenceError: cptable is not defined 

При запуске глобальной команды xl-json файл .cmd (созданный НПМ) имеет приоритет. IOW. npm создает файл с именем xl-json.cmd, который является оболочкой, вызывающей xl-json в папке bin.

Этот файл использует опцию , которую код должен использовать, но нет.

Попробуйте ввести команду --use-strict и появится соответствующее сообщение об ошибке. то есть:

node --use-strict ./bin/xl-json 
+0

Thanks @chriskelly –

+0

np. Не уверен, что npm 3.0 заставляет использовать use-strict. Если посмотреть на другие cmd-файлы в том же каталоге, я вижу, что это не всегда есть. Но опять же некоторые из этих глобальных модулей, которые я установил до npm 3 – chriskelly

+1

Нет. Я установил строгий флаг, так как мой код использует const и пусть он работает без флага, поэтому удалены. –

Смежные вопросы