РЕДАКТИРОВАТЬ : Откат до npm v3.10.10 решает проблему.Не пробовал другие версии.Но я не могу использовать версии v6.xx ... либо npm @ latest (сейчас 6.8.0), либо npm @ next (сейчас 6.9.0) вызывают ошибку.Я хотел бы знать, делаю ли я что-нибудь неправильно сам.Сейчас я просто откатываю версии, но я хотел бы знать, стоит ли мне сообщать об этом или есть что-то в npm 6, что я не знаю, что я делаю неправильно.Заранее спасибо.
Я пытался выполнить простую установку barebone 4.pack с помощью npm на консоли Windows 10 cmd, и я получил очень странную ошибку.Оказывается, это как-то связано с выполнением команды webpack
через npm run
.Позже я смог повторить ту же самую ошибку, пытаясь запустить команду babel
в совершенно другом проекте (опять же, с использованием только «бабел»).Простое использование простой команды, такой как «echo hello» и выполнение ее через npm run
, НЕ приводит к проблеме.Я схожу с ума.Вот пример для веб-пакета, следуя базовому учебнику по веб-пакету 4:
- Установлен npm
- Откройте командную консоль cmd.exe
- Создайте новую пустую папку проекта,cd there
npm init -y
npm i webpack webpack-cli --save-dev
- Отредактируйте package.json и добавьте
"build":"webpack"
или "build":"webpack app.js -o bundle.js"
(на самом деле не имеет значения) в сценарии.Создайте соответствующий файл app.js с любым кодом внутри, если хотите, опять же, ошибка одинакова, независимо от того. npm run build
... aaa, и я получаю этот журнал ошибок:
/cygdrive/c/Users/Mariano/Desktop/Pruebas/webpack_example/node_modules/.bin/webpack: line 2: sed: command not found
/cygdrive/c/Users/Mariano/Desktop/Pruebas/webpack_example/node_modules/.bin/webpack: line 2: dirname: command not found
/cygdrive/c/Users/Mariano/Desktop/Pruebas/webpack_example/node_modules/.bin/webpack: line 4: uname: command not found
internal/modules/cjs/loader.js:582
throw err;
^
Error: Cannot find module 'C:\webpack\bin\webpack.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:580:15)
at Function.Module._load (internal/modules/cjs/loader.js:506:25)
at Function.Module.runMain (internal/modules/cjs/loader.js:741:12)
at startup (internal/bootstrap/node.js:285:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:739:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! webpack_example@1.0.0 build: `webpack`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the webpack_example@1.0.0 build 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! C:\Users\Mariano\AppData\Roaming\npm-cache\_logs\2019-03-03T01_20_05_007Z-debug.log
... и вот полный файл журнала из npm-cache \ logs:
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 'run',
1 verbose cli 'build' ]
2 info using npm@6.4.1
3 info using node@v10.13.0
4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info lifecycle webpack_example@1.0.0~prebuild: webpack_example@1.0.0
6 info lifecycle webpack_example@1.0.0~build: webpack_example@1.0.0
7 verbose lifecycle webpack_example@1.0.0~build: unsafe-perm in lifecycle true
8 verbose lifecycle webpack_example@1.0.0~build: PATH: C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;C:\Users\Mariano\Desktop\Pruebas\webpack_example\node_modules\.bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Common Files\Intel\Shared Files\cpp\bin\Intel64;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\GtkSharp\2.12\bin;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\DTS\Binn\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\PostgreSQL\pg96\bin;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\nodejs\;C:\Users\Mariano\AppData\Local\Programs\Python\Python36-32\Scripts\;C:\Users\Mariano\AppData\Local\Programs\Python\Python36-32\;C:\Users\Mariano\AppData\Local\Microsoft\WindowsApps;C:\Users\Mariano\AppData\Roaming\npm
9 verbose lifecycle webpack_example@1.0.0~build: CWD: C:\Users\Mariano\Desktop\Pruebas\webpack_example
10 silly lifecycle webpack_example@1.0.0~build: Args: [ '-c', 'webpack' ]
11 silly lifecycle webpack_example@1.0.0~build: Returned: code: 1 signal: null
12 info lifecycle webpack_example@1.0.0~build: Failed to exec build script
13 verbose stack Error: webpack_example@1.0.0 build: `webpack`
13 verbose stack Exit status 1
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:182: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:182:13)
13 verbose stack at maybeClose (internal/child_process.js:962:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:251:5)
14 verbose pkgid webpack_example@1.0.0
15 verbose cwd C:\Users\Mariano\Desktop\Pruebas\webpack_example
16 verbose Windows_NT 10.0.17134
17 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "build"
18 verbose node v10.13.0
19 verbose npm v6.4.1
20 error code ELIFECYCLE
21 error errno 1
22 error webpack_example@1.0.0 build: `webpack`
22 error Exit status 1
23 error Failed at the webpack_example@1.0.0 build script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
Вот несколько фактов по этому вопросу: если я установлю webpack-cli глобально черезnpm i webpack-cli -g
и затем запустите команду webpack
прямо из консоли, она работает отлично.Это казалось подозрительным.Журнал ошибок, с другой стороны, ссылался на папку cygdrive / c / Users / Mariano / ..., несмотря на то, что такой папки не существует, папка проекта была фактически той же директорией, но начиналась с C: / Users /Mariano /...
Не говоря уже о том, что я использую не Cygwin, а командную консоль.В прошлом я возился с cygwin и npm, я думаю ... но я полностью переустановил npm, очистил кэш и все (npm -g rm
), даже попытался удалить папки npm и npm-cache напрямую, снова переустановил, но ошибкасохраняются.
Кроме того, ошибка согласуется с другими командами из других пакетов, такими как babel.Опять же, я создаю тестовую установку barebones babel.js, устанавливаю babel-core, babel-cli, пресет (babel-preset-es2015), все локально, затем добавляю "build":"babel app.js -o bundle.js --presets es2015"
в сценарии package.json (создайте какое-то приложение.JS файл со случайным кодом, если вы хотите в папке проекта).В консоли запустите npm run build
, ааа, опять же, тоже самое.Я опущу прямой консольный журнал (он почти идентичен) и покажу вам полный файл журнала для этого:
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 'run',
1 verbose cli 'build' ]
2 info using npm@6.4.1
3 info using node@v10.13.0
4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info lifecycle babel_example@1.0.0~prebuild: babel_example@1.0.0
6 info lifecycle babel_example@1.0.0~build: babel_example@1.0.0
7 verbose lifecycle babel_example@1.0.0~build: unsafe-perm in lifecycle true
8 verbose lifecycle babel_example@1.0.0~build: PATH: C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;C:\Users\Mariano\Desktop\Pruebas\babel_example\node_modules\.bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Common Files\Intel\Shared Files\cpp\bin\Intel64;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\GtkSharp\2.12\bin;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\DTS\Binn\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\PostgreSQL\pg96\bin;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\nodejs\;C:\Users\Mariano\AppData\Local\Programs\Python\Python36-32\Scripts\;C:\Users\Mariano\AppData\Local\Programs\Python\Python36-32\;C:\Users\Mariano\AppData\Local\Microsoft\WindowsApps;C:\Users\Mariano\AppData\Roaming\npm
9 verbose lifecycle babel_example@1.0.0~build: CWD: C:\Users\Mariano\Desktop\Pruebas\babel_example
10 silly lifecycle babel_example@1.0.0~build: Args: [ '-c', 'babel main.js -o bundle.js --presets es2015' ]
11 silly lifecycle babel_example@1.0.0~build: Returned: code: 1 signal: null
12 info lifecycle babel_example@1.0.0~build: Failed to exec build script
13 verbose stack Error: babel_example@1.0.0 build: `babel main.js -o bundle.js --presets es2015`
13 verbose stack Exit status 1
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:182: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:182:13)
13 verbose stack at maybeClose (internal/child_process.js:962:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:251:5)
14 verbose pkgid babel_example@1.0.0
15 verbose cwd C:\Users\Mariano\Desktop\Pruebas\babel_example
16 verbose Windows_NT 10.0.17134
17 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "build"
18 verbose node v10.13.0
19 verbose npm v6.4.1
20 error code ELIFECYCLE
21 error errno 1
22 error babel_example@1.0.0 build: `babel main.js -o bundle.js --presets es2015`
22 error Exit status 1
23 error Failed at the babel_example@1.0.0 build script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
... Что происходит?Имеет ли мое предыдущее отношение к Cygwin какое-либо отношение к этому?Что-то с переменными среды PATH?Я также пытался изменить версию npm, я использовал npm v.6.4.1, пытался обновить до npm @ latest (в настоящее время v6.8.0) ... без кубиков.Это сводит меня с ума!... есть идеи?