NPX не может найти файлы при попытке работать вечно - PullRequest
0 голосов
/ 24 января 2019

Я написал служебный скрипт для использования в разработке, который поддерживает крошечный сервер Express вместе со встроенным сервером разработки. Я использую npx для запуска через forever:

npx forever start -l $(pwd)/tokens-error.log -a -o ./tokens.log token-generator.js && npx forever list

Однако, когда кто-либо из моих коллег пытался запустить одну и ту же вещь на своих машинах (мы все используем OS X), они получают такие ошибки:

Error: Cannot find module '/Users/<username>/.npm/_npx/21191/lib/node_modules/forever/bin/monitor'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:603:15)
    at Function.Module._load (internal/modules/cjs/loader.js:529:25)
    at Function.Module.runMain (internal/modules/cjs/loader.js:775:12)
    at startup (internal/bootstrap/node.js:300:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:826:3)
internal/modules/cjs/loader.js:605
    throw err;

Мне не удалось воспроизвести на узле v8.12.0; все остальные, работающие на различных под-версиях v11, v10 и v8, имеют процент отказов 100%. Когда я перешел на v10.15.0 с помощью nvm, я несколько раз сталкивался с ошибкой, а затем она исчезала.

Каждый раз, когда это происходило, число после _npx будет отличаться, и на моем собственном компьютере я обнаружил, что при попытке найти файлы при возникновении ошибки соответствующий каталог не будет найден.

Запуск навсегда установленного на машине через npm i -g forever работает без проблем.

...