Как исправить то, что запуск любого определенного сценария в npm завершился ошибкой 3221225781 - PullRequest
0 голосов
/ 19 октября 2019

Запуск npm start, npm run или npm run-script завершается с ошибкой npm ERR! errno 3221225781

Мой узел имеет чистую установленную стабильную версию 10.16.3 LTS с npm 6.9.0 в Windows 10. Все установлено по умолчаниюпуть к C:.

Мой пример - минимальная настройка с текущей файловой структурой:

node_modules/ <empty>
index.js
package.json

Папка node_modules пуста.

Index.js:

console.log("Hello world..");

Package.json:

{
  "name": "testnpm",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  }
}

Запуск npm start

H:\dev\javascript\testnpm>npm start

> testnpm@1.0.0 start H:\dev\javascript\testnpm
> node index.js

npm ERR! code ELIFECYCLE
npm ERR! errno 3221225781
npm ERR! testnpm@1.0.0 start: `node index.js`
npm ERR! Exit status 3221225781
npm ERR!
npm ERR! Failed at the testnpm@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! <Path to logs>\_logs\2019-10-19T13_24_15_158Z-debug.log

Ожидаемый вывод будет "Hello World ..", но завершится неудачно, как показано выше.

Выполнение этой же команды напрямую дает ожидаемый результат:

H:\dev\javascript\testnpm>node index.js
Hello world..

Вот журнал после сбоя:

0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'start' ]
2 info using npm@6.9.0
3 info using node@v10.16.3
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle testnpm@1.0.0~prestart: testnpm@1.0.0
6 info lifecycle testnpm@1.0.0~start: testnpm@1.0.0
7 verbose lifecycle testnpm@1.0.0~start: unsafe-perm in lifecycle true
8 verbose lifecycle testnpm@1.0.0~start: PATH: C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;H:\dev\javascript\testnpm\node_modules\.bin;...
9 verbose lifecycle testnpm@1.0.0~start: CWD: H:\dev\javascript\testnpm
10 silly lifecycle testnpm@1.0.0~start: Args: [ '-c', 'node index.js' ]
11 silly lifecycle testnpm@1.0.0~start: Returned: code: 3221225781  signal: null
12 info lifecycle testnpm@1.0.0~start: Failed to exec start script
13 verbose stack Error: testnpm@1.0.0 start: `node index.js`
13 verbose stack Exit status 3221225781
13 verbose stack     at EventEmitter.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\index.js:301:16)
13 verbose stack     at EventEmitter.emit (events.js:198:13)
13 verbose stack     at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:198:13)
13 verbose stack     at maybeClose (internal/child_process.js:982:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
14 verbose pkgid testnpm@1.0.0
15 verbose cwd H:\dev\javascript\testnpm
16 verbose Windows_NT 10.0.18362
17 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "start"
18 verbose node v10.16.3
19 verbose npm  v6.9.0
20 error code ELIFECYCLE
21 error errno 3221225781
22 error testnpm@1.0.0 start: `node index.js`
22 error Exit status 3221225781
23 error Failed at the testnpm@1.0.0 start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 3221225781, true ]

Чтобы очистить, npm install и т. Д. работает. Запуск скрипта с node тоже работает нормально. Единственное, что не работает - это запуск любого из определенных сценариев в package.json с npm.

===================================

РЕДАКТИРОВАТЬ:

  1. Та же ошибка после обновления npm с npm i -g npm
  2. Подсказка: код ошибки 3221225781просто код пропавшего dll в .NET
  3. Я удалил все библиотеки разработки, IDE, дистрибутивы и переустановил только необходимые в соответствии с описанием установки из npm на github. Все та же ошибка.
  4. Это работает в Git Bash! Но все же ошибка в CMD и PowerShell. Это заставило меня заподозрить PATH, вручную добавило все пути Git Bash в CMD, и это все та же ошибка.
  5. Выполнена полная переустановка Windows, запущена установка узла, который теперь устанавливает chocolatey и чтов свою очередь устанавливает следующие зависимости:
 - chocolatey-dotnetfx.extension v1.0.1
 - python2 v2.7.17
 - kb3033929 v1.0.5
 - visualstudio2017buildtools v15.9.17.0
 - chocolatey-windowsupdate.extension v1.0.4
 - vcredist140 v14.23.27820
 - kb2999226 v1.0.20181019
 - visualstudio-installer v2.0.1
 - kb2919355 v1.0.20160915
 - chocolatey-core.extension v1.3.3
 - kb2919442 v1.0.20160915
 - visualstudio2017-workload-vctools v1.3.2
 - chocolatey-visualstudio.extension v1.8.1
 - dotnetfx v4.8.0.20190930
 - kb3035131 v1.0.3
Теперь это работает, что за настоящая проблема, скорее всего, останется загадкой.

Ответы [ 2 ]

0 голосов
/ 19 октября 2019

Попробуйте npm cache clean, и я знаю, что каталог node_modules пуст, но просто удалите его, чтобы быть безопасным. Вам также следует удалить файл package-lock.json. Затем запустите npm install.

0 голосов
/ 19 октября 2019

Оригинальный ответ

Похоже, что это проблема с одной из зависимостей npm-cli.

Запустите npm i -g npm и повторите попытку. Это должно в основном избавиться от вашей проблемы.

Редактировать

Я провел некоторое исследование. Я в основном использую node в Linux, поэтому не знал об этом. В Windows вам нужно установить распространяемые файлы VC ++.

Загрузить можно с https://www.microsoft.com/en-us/download/details.aspx?id=48145

Источник: https://github.com/electron/electron-quick-start/issues/55

...