Запуск 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
.
===================================
РЕДАКТИРОВАТЬ:
- Та же ошибка после обновления npm с
npm i -g npm
- Подсказка: код ошибки 3221225781просто код пропавшего dll в .NET
- Я удалил все библиотеки разработки, IDE, дистрибутивы и переустановил только необходимые в соответствии с описанием установки из npm на github. Все та же ошибка.
- Это работает в Git Bash! Но все же ошибка в CMD и PowerShell. Это заставило меня заподозрить PATH, вручную добавило все пути Git Bash в CMD, и это все та же ошибка.
- Выполнена полная переустановка 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
Теперь это работает, что за настоящая проблема, скорее всего, останется загадкой.