Error spawn webpack enoent

Cloned repo, ran install, ran start - works fine. Ran build - get this error: λ npm run build > react-toolbox-example@0.11.3 build C:...react-toolbox-example > cross-env NODE_ENV=production...

@ktmn

Cloned repo, ran install, ran start — works fine. Ran build — get this error:

λ npm run build

> react-toolbox-example@0.11.3 build C:...react-toolbox-example
> cross-env NODE_ENV=production UV_THREADPOOL_SIZE=100 webpack --config ./webpack.config.file

events.js:141
      throw er; // Unhandled 'error' event
      ^

Error: spawn webpack ENOENT
    at exports._errnoException (util.js:837:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:178:32)
    at onErrorNT (internal/child_process.js:344:16)
    at doNTCallback2 (node.js:429:9)
    at process._tickCallback (node.js:343:17)
    at Function.Module.runMain (module.js:477:11)
    at startup (node.js:117:18)
    at node.js:951:3

npm ERR! Windows_NT 10.0.10240

So I tried to set node env manually

SET NODE_ENV=production && webpack --config ./webpack.config.file

But it didn’t work or something, because the built react-toolbox.js file will still look for __webpack_hmr EventSource, so hmr appears to be still enabled.

The problem also appears in my actual project, that I used react-toolbox in. I eliminated any trace of hmr from my source files yet it still kept showing up — turns out it was from the source of react-toolbox. So how do I let it know that the «node env» is «production»?

Also tried to do it in the webpack.config.file.js file

'process.env.NODE_ENV': JSON.stringify('production')

Nothing changed.

@javivelasco

That’s weird. I noticed the HMR issue and added the production env variable to the script. Then, I made it work properly. As I said in other issues, I have no Windows machine and can’t test it but the issue is clearly related to how env variables are set in a Windows env.

For now we need to set the production env variable to avoid including HMR and also to increase the thread pool to overcome a node-sass issue that makes the compilation freeze. It’s important to have it working across different OS envs and I thought it was solved with the cross-env PR.

If anybody can help with the Windows support it would be very welcome!

@javivelasco

@NogsMPLS played a lot with this kind of issues, maybe he can help!

@NogsMPLS

Hey @ktmn I noticed this issue was created 4 days ago. This is right around the time that I had a PR get merged into the cross-env repo.

However, I don’t know if you npm installed before or after that release for cross-env was tagged that day.

If possible, could you pull/fetch the latest from this repo and then npm install again and make sure in your node_modules folder that the cross-env package.json has 1.0.4 as the version number?

It should work, as the whole reason I put in the PR to cross-env was because I was getting ENOENT issues before as well.

SIDE NOTE: the current react-toolbox-example repo has npm scripts run against webpack.config.file but that doesn’t exist anymore, so there is another error happening around that, i’ll submit a PR here in a minute to change it to just webpack.config

@javivelasco

Great! @ktmn can you try it?

@ktmn

My bad I completely forgot to post here, but I resolved the issue by reinstalling react-toolbox. So basically, yes, what Nogs said. And now I understand why it actually worked. Thanks!

@javivelasco

@Timodie

I faced a similar issue and the fix was to make sure the fields of the WebpackPwaManifest matched that of your package.json

Запускаю npm rund dev и выходит такая ошибка. Пробовал разные способы из гугла, но дальше опять ошибки, установлены nodejs 12.16.2 и npm 6.14.4 Надеюсь на помощь.

user@Sergei:~/Projects/laravel/site$ npm run dev

> @ dev /home/user/Projects/laravel/site
> npm run development


> @ development /home/user/Projects/laravel/site
> cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js

events.js:292
      throw er; // Unhandled 'error' event
      ^

Error: spawn node_modules/webpack/bin/webpack.js ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:268:19)
    at onErrorNT (internal/child_process.js:468:16)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)
Emitted 'error' event on ChildProcess instance at:
    at Process.ChildProcess._handle.onexit (internal/child_process.js:274:12)
    at onErrorNT (internal/child_process.js:468:16)
    at processTicksAndRejections (internal/process/task_queues.js:84:21) {
  errno: -2,
  code: 'ENOENT',
  syscall: 'spawn node_modules/webpack/bin/webpack.js',
  path: 'node_modules/webpack/bin/webpack.js',
  spawnargs: [
    '--progress',
    '--hide-modules',
    '--config=node_modules/laravel-mix/setup/webpack.config.js'
  ]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ development: `cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the @ development 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!     /home/user/.npm/_logs/2020-04-23T11_47_34_104Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ dev: `npm run development`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the @ dev 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!     /home/user/.npm/_logs/2020-04-23T11_47_34_141Z-debug.log
user@Sergei:~/Projects/laravel/site$

За последние 24 часа нас посетил 11551 программист и 1161 робот. Сейчас ищут 372 программиста …


  1. ubunta2

    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28

    1. > @ development /var/www/html
    2. > cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js —progress —hide-modules —config=node_modules/laravel-mix/setup/webpack.config.js
    3. sh: 1: cross-env: not found
    4. npm ERR! Linux 5.0.0-29-generic
    5. npm ERR! argv «/usr/bin/node» «/usr/bin/npm» «run» «development»
    6. npm ERR! @ development: `cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js —progress —hide-modules —config=node_modules/laravel-mix/setup/webpack.config.js`
    7. npm ERR! Failed at the @ development script ‘cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js —progress —hide-modules —config=node_modules/laravel-mix/setup/webpack.config.js’.
    8. npm ERR! Make sure you have the latest version of node.js and npm installed.
    9. npm ERR! If you do, this is most likely a problem with the  package,
    10. npm ERR! not with npm itself.
    11. npm ERR! Tell the author that this fails on your system:
    12. npm ERR!     cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js —progress —hide-modules —config=node_modules/laravel-mix/setup/webpack.config.js
    13. npm ERR! You can get information on how to open an issue for this project with:
    14. npm ERR! Or if that isn’t available, you can get their info via:
    15. npm ERR! There is likely additional logging output above.
    16. npm ERR! Please include the following file with any support request:
    17. npm ERR!     /var/www/html/npm-debug.log
    18. npm ERR! Linux 5.0.0-29-generic
    19. npm ERR! argv «/usr/bin/node» «/usr/bin/npm» «run» «dev»
    20. npm ERR! @ dev: `npm run development`
    21. npm ERR! Failed at the @ dev script ‘npm run development’.
    22. npm ERR! Make sure you have the latest version of node.js and npm installed.
    23. npm ERR! If you do, this is most likely a problem with the  package,
    24. npm ERR! not with npm itself.
    25. npm ERR! Tell the author that this fails on your system:
    26. npm ERR!     npm run development
    27. npm ERR! You can get information on how to open an issue for this project with:
    28. npm ERR! Or if that isn’t available, you can get their info via:
    29. npm ERR! There is likely additional logging output above.
    30. npm ERR! Please include the following file with any support request:
    31. npm ERR!     /var/www/html/npm-debug.log


  2. MouseZver

    С нами с:
    1 апр 2013
    Сообщения:
    7.562
    Симпатии:
    1.284
    Адрес:
    Лень

    Просто автоматом накуй. Зачем лезешь туда, если ты даже читать не умеешь, собственно — ниКуя ?

  3. Убунта, мне вот просто интересно — что такого делаешь с системой что у тебя постоянно вылазят ошибки?


  4. ubunta2

    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28

    1.  npm install —global cross-env
    2. npm WARN checkPermissions Missing write access to /usr/local/lib
    3.     ├─┬ shebang-command@1.2.0
    4.     │ └── shebang-regex@1.0.0
    5. npm ERR! Linux 5.0.0-29-generic
    6. npm ERR! argv «/usr/bin/node» «/usr/bin/npm» «install» «—global» «cross-env»
    7. npm ERR! path /usr/local/lib
    8. npm ERR! Error: EACCES: permission denied, access ‘/usr/local/lib’
    9. npm ERR!  { Error: EACCES: permission denied, access ‘/usr/local/lib’
    10. npm ERR!   syscall: ‘access’,
    11. npm ERR!   path: ‘/usr/local/lib’ }
    12. npm ERR! Please try running this command again as root/Administrator.
    13. npm ERR! Please include the following file with any support request:
    14. npm ERR!     /var/www/html/npm-debug.log
    1.  npm install —global cross-env
    2. npm WARN checkPermissions Missing write access to /usr/local/lib
    3.     ├─┬ shebang-command@1.2.0
    4.     │ └── shebang-regex@1.0.0
    5. npm ERR! Linux 5.0.0-29-generic
    6. npm ERR! argv «/usr/bin/node» «/usr/bin/npm» «install» «—global» «cross-env»
    7. npm ERR! path /usr/local/lib
    8. npm ERR! Error: EACCES: permission denied, access ‘/usr/local/lib’
    9. npm ERR!  { Error: EACCES: permission denied, access ‘/usr/local/lib’
    10. npm ERR!   syscall: ‘access’,
    11. npm ERR!   path: ‘/usr/local/lib’ }
    12. npm ERR! Please try running this command again as root/Administrator.
    13. npm ERR! Please include the following file with any support request:
    14. npm ERR!     /var/www/html/npm-debug.log


  5. vvas

    С нами с:
    9 апр 2018
    Сообщения:
    50
    Симпатии:
    10

    @ubunta2 покажи что выводит на командыи ещёПоследнюю надо сделать в папке с проектом. Покажешь и я смогу тебе дать подсказки.


  6. ubunta2

    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28

    whoami
    php
    — Добавлено —
    echo $PATH
    /var/www/html/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
    — Добавлено —

    1.     «dev»: «npm run development»,
    2.     «development»: «cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js —progress —hide-modules —config=node_modules/laravel-mix/setup/webpack.config.js»,
    3.     «watch»: «cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js —watch —progress —hide-modules —config=node_modules/laravel-mix/setup/webpack.config.js»,
    4.     «watch-poll»: «npm run watch — —watch-poll»,
    5.     «hot»: «cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js —inline —hot —config=node_modules/laravel-mix/setup/webpack.config.js»,
    6.     «prod»: «npm run production»,
    7.     «production»: «cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js —progress —hide-modules —config=node_modules/laravel-mix/setup/webpack.config.js»
    8.     «bootstrap-sass»: «^3.3.7»,


  7. ubunta2

    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28

    1.     ├─┬ shebang-command@1.2.0
    2.     │ └── shebang-regex@1.0.0

    — Добавлено —
    which node
    /usr/bin/node


  8. ubunta2

    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28

    1. npm WARN deprecated extract-text-webpack-plugin@3.0.2: Deprecated. Please use https://github.com/webpack-contrib/mini-css-extract-plugin
    2. npm WARN deprecated browserslist@2.11.3: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.


  9. artoodetoo

    Команда форума
    Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    10.827
    Симпатии:
    1.174
    Адрес:
    там-сям

    вот так не надо делать! теперь каталог node_packages принадлежит руту. жди проблем.
    можно только глобальные пакеты ставить через sudo.

    npm install без доп. ключей читает твой package.json и устанавливает локальные для проекта пакеты. твой проект весь целиком должен принадлежать аккаунту, под которым трудится веб-сервер. т.е. www-data (или php это зависит от твоих настроек), а не root. по крайней мере пока ты не перестанешь быть обезъяной. давай ты научишся обходиться без гранаты.


  10. ubunta2

    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28

    а как мне делать я все пробую что нахожу в интернете
    если нет кто объяснит как сделать

    ДА НЕУЖЕЛИ!!! ПРЯМ НИКТО НЕ ОБЪЯСНЯЕТ, БРОСИЛИ ТЕБЯ НА ПРОИЗВОЛ. ЛОВИ ШТРАФ ЗА НЕБЛАГОДАРНУЮ ЛОЖЬ. БАН НЕ ЗА ГОРАМИ.

    — Добавлено —

    может удалить теперь его
    — Добавлено —

    1. npm WARN checkPermissions Missing write access to /var/www/html/node_modules
    2. │   └─┬ shebang-command@1.2.0
    3. │     └── shebang-regex@1.0.0
    4. ├─┬ imagemin-gifsicle@5.2.0
    5. │ │   └── cross-spawn@5.1.0
    6. │     │ ├─┬ buffer-to-vinyl@1.1.0
    7. │     │ │ └── file-type@3.9.0
    8. │     │ ├─┬ decompress-tarbz2@3.1.0
    9. │     │ │ └─┬ seek-bzip@1.0.5
    10. │     │ │   └─┬ commander@2.8.1
    11. │     │ │     └── graceful-readlink@1.0.1
    12. │     │ └─┬ decompress-unzip@3.4.0
    13. │     │     ├── buffer-crc32@0.2.13
    14. │       │ ├── strip-outer@1.0.1
    15. │       │ └── trim-repeated@1.0.0
    16. │         ├── is-retry-allowed@1.2.0
    17. │         ├── lowercase-keys@1.0.1
    18. │         └── url-parse-lax@1.0.0
    19. ├─┬ imagemin-mozjpeg@7.0.0
    20. │ │ └─┬ imagemin-pngquant@5.1.0
    21. │ │   └─┬ pngquant-bin@4.0.0
    22. │ │     │ ├─┬ decompress@4.2.0
    23. │ │     │ │ ├── decompress-tar@4.1.1
    24. │ │     │ │ ├─┬ decompress-tarbz2@4.1.1
    25. │ │     │ │ │ ├── file-type@6.2.0
    26. │ │     │ │ │ └─┬ unbzip2-stream@1.3.3
    27. │ │     │ │ │   └── buffer@5.4.3
    28. │ │     │ │ ├── decompress-targz@4.1.1
    29. │ │     │ │ ├─┬ decompress-unzip@4.0.1
    30. │ │     │ │ │ ├── file-type@3.9.0
    31. │ │     │ │ │ └── get-stream@2.3.1
    32. │ │     │ │ └─┬ strip-dirs@2.1.0
    33. │ │     │ │   └── is-natural-number@4.0.1
    34. │ │     │ │ │ ├─┬ get-proxy@2.1.0
    35. │ │     │ │ │ │ └─┬ npm-conf@1.1.3
    36. │ │     │ │ │ │   └─┬ config-chain@1.1.12
    37. │ │     │ │ │ │     └── proto-list@1.2.4
    38. │ │     │ │ │ ├─┬ isurl@1.0.0
    39. │ │     │ │ │ │ ├─┬ has-to-string-tag-x@1.4.1
    40. │ │     │ │ │ │ │ └── has-symbol-support-x@1.4.2
    41. │ │     │ │ │ │ └── is-object@1.0.1
    42. │ │     │ │ │ ├── tunnel-agent@0.6.0
    43. │ │     │ │ │ └── url-to-options@1.0.1
    44. │ │     │ │ ├─┬ ext-name@5.0.0
    45. │ │     │ │ │ ├── ext-list@2.2.2
    46. │ │     │ │ │ └── sort-keys-length@1.0.1
    47. │ │     │ │ ├── file-type@5.2.0
    48. │ │     │ │ ├─┬ filenamify@2.1.0
    49. │ │     │ │ │ └── filename-reserved-regex@2.0.0
    50. │ │     │ │ ├── get-stream@3.0.0
    51. │ │     │ │ │ ├─┬ decompress-response@3.3.0
    52. │ │     │ │ │ │ └── mimic-response@1.0.1
    53. │ │     │ │ │ ├── duplexer3@0.1.4
    54. │ │     │ │ │ ├── get-stream@3.0.0
    55. │ │     │ │ │ ├── p-cancelable@0.3.0
    56. │ │     │ │ │ └── timed-out@4.0.1
    57. │ │     │ │ ├─┬ p-event@1.3.0
    58. │ │     │ │ │ └── p-timeout@1.2.1
    59. │ │     │ │ ├── cross-spawn@5.1.0
    60. │ │     │ │ └── get-stream@3.0.0
    61. │ │     │ └─┬ p-map-series@1.0.0
    62. │ │       ├── cross-spawn@6.0.5
    63. │       └─┬ load-json-file@2.0.0
    64. │ │ └─┬ read-pkg-up@1.0.1
    65. │ │     ├─┬ load-json-file@1.1.0
    66. npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
    67. npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.2.9
    68. npm WARN optional Skipping failed optional dependency /watchpack/chokidar/fsevents:
    69. npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.2.9
    70. npm WARN optional Skipping failed optional dependency /webpack-dev-server/chokidar/fsevents:
    71. npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.2.9
    72. npm WARN ajv-keywords@3.4.1 requires a peer of ajv@^6.9.1 but none was installed.
    73. npm ERR! Linux 5.0.0-29-generic
    74. npm ERR! argv «/usr/bin/node» «/usr/bin/npm» «install»
    75. npm ERR! path /var/www/html/node_modules
    76. npm ERR! Error: EACCES: permission denied, access ‘/var/www/html/node_modules’
    77. npm ERR!  { Error: EACCES: permission denied, access ‘/var/www/html/node_modules’
    78. npm ERR!   syscall: ‘access’,
    79. npm ERR!   path: ‘/var/www/html/node_modules’ }
    80. npm ERR! Please try running this command again as root/Administrator.
    81. npm ERR! Please include the following file with any support request:
    82. npm ERR!     /var/www/html/npm-debug.log


  11. artoodetoo

    Команда форума
    Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    10.827
    Симпатии:
    1.174
    Адрес:
    там-сям

    насколько я вижу, у тебя cross-env установлен локально. проблема только в том, что он не находится в пути (path). варианты решения могут быть разные.

    например ты можешь отредактировать package.json так, чтобы явно обращаться к локальному пакету.

    или прочитать и понять как использовать локальные пакеты всегда через npx. найди здесь слово «автофоллбек«
    https://medium.com/devschacht/introducing-npx-an-npm-package-runner-a72a658cd9e6

    — Добавлено —

    ты как лялька, которая всё в рот тащит, что на земле найдёт. пора уже завершить этот этап в жизни и действовать осознанно.


  12. ubunta2

    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28

    объясняют, но когда уже поздно

    ЛОВИ ЕЩЁ ШТРАФ.
    — Добавлено —
    да помогают на форуме, но я пока не все понимаю
    — Добавлено —
    Когда возникает проблема у меня нет кто поможет и решаю что нахожу в интернете. пока тема висит и за это время делаю ошибки


  13. artoodetoo

    Команда форума
    Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    10.827
    Симпатии:
    1.174
    Адрес:
    там-сям

    значит всё что ты делаешь без sudo создаёт файлы, принадлежашие пользователю с именем php. проверь это вызываятак файлы выводятся с дополнительными аттрибутами

    теперь надо узнать: под каким пользователем работает apache. а если у тебя nginx и php-fpm , то проверь под каким пользователем php-fpm. я тебе показывал что и где искать.

    обычно это www-data. но проверь. почему это важно:
    потому что кое-что сайт пытается записать на диск. и если вдруг нужный каталог принадлежит другому пользователю, то произойдёт ошибка.

    расскажи чему ты научился только что своими словами.
    — Добавлено —

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

    понял? расскажи что ты понял. приведи пример. приготовь $15.


  14. ubunta2

    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28

    ls -l
    итого 52
    -rw-r—r— 1 php php 8980 сен 26 15:17 examples.desktop
    drwxr-xr-x 10 php php 4096 сен 29 08:22 node_modules
    drwxr-xr-x 6 php php 4096 сен 29 09:01 snap
    drwxr-xr-x 2 php php 4096 сен 26 15:28 Видео
    drwxr-xr-x 2 php php 4096 сен 26 15:28 Документы
    drwxr-xr-x 3 php php 4096 сен 28 19:41 Загрузки
    drwxr-xr-x 2 php php 4096 сен 27 14:14 Изображения
    drwxr-xr-x 2 php php 4096 сен 26 15:28 Музыка
    drwxr-xr-x 2 php php 4096 сен 26 15:28 Общедоступные
    drwxr-xr-x 4 php php 4096 сен 27 20:28 ‘Рабочий стол’
    drwxr-xr-x 2 php php 4096 сен 26 15:28 Шаблоны
    — Добавлено —
    я так понял нужно узнать под пользователем администратор или нет. У меня везде php — . Означает что все остальное под администратором и это мешает
    — Добавлено —
    смотри: есть несколько папок, разделенные двоеточием. когда ты набираешь какую-нибудь команду, например «cross-env», система последовательно ищет такой исполняемый файл в каждой из этих папок. и иногда не находит, потому что нужный файл лежит в другом месте.

    Значит файл лежит в другой папке
    — Добавлено —
    npm WARN checkPermissions Missing write access to /var/www/html/node_modules

    npm ERR! Please try running this command again as root/Administrator.

    там администратор


  15. artoodetoo

    Команда форума
    Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    10.827
    Симпатии:
    1.174
    Адрес:
    там-сям

    я не понял твою мысль :D но мне кажется ты вывернул всё наизнанку.
    и ещё, очевидно ты вывел содержимое домашней папки пользователя. а я просил сделать это в папке проекта. ты понял?а где команда, которая вызвала эти сообщения?


  16. ubunta2

    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28

    sudo команда эта

    SUDO — ДА НЕУЖЕЛИ! А ПОЛНОСТЬЮ КАКАЯ КОМАНДА БЫЛА?


  17. artoodetoo

    Команда форума
    Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    10.827
    Симпатии:
    1.174
    Адрес:
    там-сям

    впрочем поxуй. я исчерпал запас свободного времени и доброты. пусть другие с тобой носятся.
    — Добавлено —
    мало того, что ты трудный, ты ещё и сознательно привираешь, как мне кажется.


  18. ubunta2

    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28

    sudo npm i
    sudo npm
    — Добавлено —
    sudo npm install
    — Добавлено —

    1. > @ development /var/www/html
    2. > cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js —progress —hide-modules —config=node_modules/laravel-mix/setup/webpack.config.js
    3.       throw er; // Unhandled ‘error’ event
    4. Error: spawn node_modules/webpack/bin/webpack.js ENOENT
    5.     at _errnoException (util.js:1022:11)
    6.     at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19)
    7.     at onErrorNT (internal/child_process.js:372:16)
    8.     at _combinedTickCallback (internal/process/next_tick.js:138:11)
    9.     at process._tickCallback (internal/process/next_tick.js:180:9)
    10.     at Function.Module.runMain (module.js:695:11)
    11.     at startup (bootstrap_node.js:188:16)
    12.     at bootstrap_node.js:609:3
    13. npm ERR! Linux 5.0.0-29-generic
    14. npm ERR! argv «/usr/bin/node» «/usr/bin/npm» «run» «development»
    15. npm ERR! @ development: `cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js —progress —hide-modules —config=node_modules/laravel-mix/setup/webpack.config.js`
    16. npm ERR! Failed at the @ development script ‘cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js —progress —hide-modules —config=node_modules/laravel-mix/setup/webpack.config.js’.
    17. npm ERR! Make sure you have the latest version of node.js and npm installed.
    18. npm ERR! If you do, this is most likely a problem with the  package,
    19. npm ERR! not with npm itself.
    20. npm ERR! Tell the author that this fails on your system:
    21. npm ERR!     cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js —progress —hide-modules —config=node_modules/laravel-mix/setup/webpack.config.js
    22. npm ERR! You can get information on how to open an issue for this project with:
    23. npm ERR! Or if that isn’t available, you can get their info via:
    24. npm ERR! There is likely additional logging output above.
    25. npm ERR! Please include the following file with any support request:
    26. npm ERR!     /var/www/html/npm-debug.log
    27. npm ERR! Linux 5.0.0-29-generic
    28. npm ERR! argv «/usr/bin/node» «/usr/bin/npm» «run» «dev»
    29. npm ERR! @ dev: `npm run development`
    30. npm ERR! Failed at the @ dev script ‘npm run development’.
    31. npm ERR! Make sure you have the latest version of node.js and npm installed.
    32. npm ERR! If you do, this is most likely a problem with the  package,
    33. npm ERR! not with npm itself.
    34. npm ERR! Tell the author that this fails on your system:
    35. npm ERR!     npm run development
    36. npm ERR! You can get information on how to open an issue for this project with:
    37. npm ERR! Or if that isn’t available, you can get their info via:
    38. npm ERR! There is likely additional logging output above.
    39. npm ERR! Please include the following file with any support request:
    40. npm ERR!     /var/www/html/npm-debug.log

    — Добавлено —
    sudo chown -R $USER:www-data /var/www/html
    — Добавлено —

    Вложения:

    • 0.zip
      Размер файла:
      25,3 КБ
      Просмотров:
      1


  19. ADSoft

    Забаньте это неадекватный поток бреда…

  20. :D


  21. vvas

    С нами с:
    9 апр 2018
    Сообщения:
    50
    Симпатии:
    10

    @ubunta2 Запускать локальный пакет

    1.     «development»: «./node_modules/.bin/cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js —progress —hide-modules —config=node_modules/laravel-mix/setup/webpack.config.js»,

    и остальные строки сделать по этому образцу.
    Если еще актуально.


  22. ubunta2

    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28

    помощь в этом не нужна
    вопрос решен​

4b9b3361

Ответ 1

ПРИМЕЧАНИЕ. Эта ошибка почти всегда возникает из-за того, что команда не существует, потому что рабочий каталог не существует или из-за ошибки только для Windows.

Я нашел очень простой способ понять причину:

Error: spawn ENOENT

Проблема этой ошибки в том, что в сообщении об ошибке действительно мало информации, чтобы сказать вам, где находится сайт вызова, т.е. какой исполняемый файл/команда не найден, особенно если у вас большая кодовая база, где много вызовов спавна. С другой стороны, если мы знаем точную команду, которая вызывает ошибку, тогда мы можем следовать @laconbass ‘answer, чтобы решить проблему.

Я нашел очень простой способ определить, какая команда вызывает проблему, вместо добавления прослушивателей событий в вашем коде, как предложено в ответе @laconbass. Основная идея заключается в том, чтобы обернуть исходный вызов spawn оболочкой, которая печатает аргументы, отправленные на вызов spawn.

Вот функция-обертка, поместите ее в верхнюю часть index.js или любого другого сценария запуска вашего сервера.

(function() {
    var childProcess = require("child_process");
    var oldSpawn = childProcess.spawn;
    function mySpawn() {
        console.log('spawn called');
        console.log(arguments);
        var result = oldSpawn.apply(this, arguments);
        return result;
    }
    childProcess.spawn = mySpawn;
})();

Затем в следующий раз, когда вы запустите свое приложение, перед сообщением с неперехваченным исключением вы увидите что-то вроде этого:

spawn called
{ '0': 'hg',
  '1': [],
  '2':
   { cwd: '/* omitted */',
     env: { IP: '0.0.0.0' },
     args: [] } }

Таким образом, вы можете легко узнать, какая команда на самом деле выполняется, а затем вы можете узнать, почему nodejs не может найти исполняемый файл для решения проблемы.

Ответ 2

Шаг 1: Убедитесь, что spawn называется правильным способом

Сначала просмотрите docs для child_process.spawn(команда, args, options):

Запускает новый процесс с заданным command с аргументами командной строки в args. Если опустить, args по умолчанию задает пустой массив.

Третий аргумент используется для указания дополнительных параметров, по умолчанию:

{ cwd: undefined, env: process.env }

Используйте env, чтобы указать переменные среды, которые будут видимы для нового процесса, по умолчанию это process.env.

Убедитесь, что вы не вставляете аргументы командной строки в command, а весь spawn вызов действителен. Перейдите к следующему шагу.

Шаг 2: Идентифицируйте событие, излучающее событие ошибки

Найдите исходный код для каждого вызова spawn или child_process.spawn, т.е.

spawn('some-command', [ '--help' ]);

и прикрепите там прослушиватель событий для события «error», чтобы вы заметили точный Event Emitter, который бросает его как «Unhandled». После отладки этот обработчик можно удалить.

spawn('some-command', [ '--help' ])
  .on('error', function( err ){ throw err })
;

Выполните, и вы должны получить путь к файлу и номер строки, где был зарегистрирован ваш прослушиватель ошибок. Что-то вроде:

/file/that/registers/the/error/listener.js:29
      throw err;
            ^
Error: spawn ENOENT
    at errnoException (child_process.js:1000:11)
    at Process.ChildProcess._handle.onexit (child_process.js:791:34)

Если первые две строки все еще

events.js:72
        throw er; // Unhandled 'error' event

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

Шаг 3. Убедитесь, что переменная среды $PATH установлена ​​

Возможны два сценария:

  • Вы полагаетесь на поведение по умолчанию spawn, поэтому дочерняя среда процесса будет такой же, как process.env.
  • Вы — экспликация, передающая объект env на spawn в аргументе options.

В обоих сценариях вы должны проверить ключ PATH на объекте среды, который будет использовать дочерний процесс, созданный.

Пример сценария 1

// inspect the PATH key on process.env
console.log( process.env.PATH );
spawn('some-command', ['--help']);

Пример сценария 2

var env = getEnvKeyValuePairsSomeHow();
// inspect the PATH key on the env object
console.log( env.PATH );
spawn('some-command', ['--help'], { env: env });

Отсутствие PATH (т.е. it undefined) приведет к тому, что spawn испустит ошибку ENOENT, так как не удастся найти какой-либо command, если только это абсолютный путь к исполняемому файлу.

Когда PATH установлен правильно, перейдите к следующему шагу. Это должен быть каталог или список каталогов. Последний случай является обычным.

Шаг 4: Убедитесь, что command существует в каталоге тех, которые определены в PATH

Spawn может испускать ошибку ENOENT, если имя файла command (т.е. ‘some-command’) не существует, по крайней мере, в одном из каталогов, определенных в PATH.

Найдите точное место command. В большинстве дистрибутивов Linux это можно сделать с терминала с помощью команды which. Он укажет вам абсолютный путь к исполняемому файлу (например, выше) или сообщите, не найден ли он.

Пример использования которого и его вывод, когда команда найдена

> which some-command
some-command is /usr/bin/some-command

Пример использования которого и его вывод, когда команда не найдена

> which some-command
bash: type: some-command: not found

прошитые программы являются наиболее распространенной причиной для не найденной команды. Обратитесь к каждой документации команды, если необходимо, и установите ее.

Когда команда представляет собой простой файл script, убедитесь, что он доступен из каталога в PATH.. Если это не так, переместите его на один или создайте для него ссылку.

После того, как вы определили PATH правильно установленный и command доступен из него, вы сможете запустить дочерний процесс без spawn ENOENT.

Ответ 3

Как @DanielImfeld указал на него, ENOENT будет выброшен, если вы укажете «cwd» в параметрах, но данный каталог не существует.

Ответ 4

Решение для Windows: замените spawn на node-cross-spawn. Например, например, в начале вашего app.js:

(function() {
    var childProcess = require("child_process");
    childProcess.spawn = require('cross-spawn');
})(); 

Ответ 5

Ответ @laconbass помог мне и, вероятно, является наиболее правильным.

Я пришел сюда, потому что я использовал спавн неправильно. В качестве простого примера:

это неверно:

const s = cp.spawn('npm install -D suman', [], {
    cwd: root
});

это неверно:

const s = cp.spawn('npm', ['install -D suman'], {
    cwd: root
});

это правильно:

const s = cp.spawn('npm', ['install','-D','suman'], {
    cwd: root
});

Тем не менее, я рекомендую сделать это следующим образом:

const s = cp.spawn('bash');
s.stdin.end('cd "${root}" && npm install -D suman');
s.once('exit', code => {
   // exit
});

это потому, что тогда cp.on('exit', fn) будет всегда cp.on('exit', fn), пока bash установлен, в противном случае cp.on('error', fn) может cp.on('error', fn) первым, если мы используем его Первый способ, если мы запустим ‘npm’ напрямую.

Ответ 6

Для ENOENT в Windows https://github.com/nodejs/node-v0.x-archive/issues/2318#issuecomment-249355505 исправить.

например. замените spawn (‘npm’, [‘-v’], {stdio: ‘inherit’}) с помощью:

  • для всех node.js версия:

    spawn(/^win/.test(process.platform) ? 'npm.cmd' : 'npm', ['-v'], {stdio: 'inherit'})
    
  • для node.js 5.x и более поздних версий:

    spawn('npm', ['-v'], {stdio: 'inherit', shell: true})
    

Ответ 7

Для всех, кто может наткнуться на это, если все остальные ответы не помогут, и вы находитесь в Windows, знайте, что в настоящее время существует большая проблема с spawn в Windows и переменную среды PATHEXT, которая может привести к тому, что определенные вызовы на запуск не будут работать в зависимости от того, как установлена ​​целевая команда.

Ответ 8

В моем случае я получил эту ошибку, вызванную из-за того, что необходимые зависимые системные ресурсы не были установлены.

В частности, у меня есть приложение NodeJS, которое использует ImageMagick. Несмотря на то, что установлен пакет npm, ядро ​​Linux ImageMagick не было установлено. Я сделал apt-get для установки ImageMagick, и после этого все отлично поработало!

Ответ 9

Я столкнулся с той же проблемой, но нашел простой способ ее исправить.
По-видимому, это ошибки spawn(), если программа была добавлена ​​в PATH пользователем (например, работают обычные системные команды).

Чтобы исправить это, вы можете использовать модуль which (npm install --save which):

// Require which and child_process
const which = require('which');
const spawn = require('child_process').spawn;
// Find npm in PATH
const npm = which.sync('npm');
// Execute
const noErrorSpawn = spawn(npm, ['install']);

Ответ 10

Убедитесь, что установленный модуль установлен или полный путь к команде, если он не является модулем node

Ответ 11

Используйте require('child_process').exec вместо spawn для более конкретного сообщения об ошибке!

например:

var exec = require('child_process').exec;
var commandStr = 'java -jar something.jar';

exec(commandStr, function(error, stdout, stderr) {
  if(error || stderr) console.log(error || stderr);
  else console.log(stdout);
});

Ответ 12

Я также проходил через эту досадную проблему, выполняя свои тестовые случаи, поэтому я попробовал много способов решить эту проблему. Но способ для меня — запустить ваш тестовый прогон из каталога, в котором находится ваш основной файл, который включает в себя функцию spawn для nodejs, примерно так:

nodeProcess = spawn('node',params, {cwd: '../../node/', detached: true });

Например, это имя файла test.js, поэтому просто перейдите в папку, в которой он находится. В моем случае это тестовая папка:

cd root/test/

тогда от запуска вашего тестового бегуна в моем случае его мокко, так что это будет так:

mocha test.js

Я потратил больше одного дня, чтобы понять это. Наслаждаться!!

Ответ 13

Я получал эту ошибку при попытке отладки программы node.js из редактора VS Code в системе Debian Linux. Я заметил, что в Windows все работает нормально. Решения, приведенные здесь ранее, не помогли, потому что я не написал никаких команд «икры». Оскорбительный код предположительно был написан Microsoft и скрыт под капотом программы VS Code.

Далее я заметил, что node.js называется node в Windows, но на Debian (и, предположительно, в системах на основе Debian, таких как Ubuntu), он называется nodejs. Поэтому я создал псевдоним — с корневого терминала, я побежал

ln -s/usr/bin/nodejs/usr/local/bin/node

и это решило проблему. Такая же или аналогичная процедура, по-видимому, будет работать в других случаях, когда ваш node.js называется nodejs, но вы запускаете программу, которая ожидает, что она будет называться node, или наоборот.

Ответ 14

У меня такая же ошибка для Windows 8. Проблема в том, что отсутствует переменная среды вашего системного пути. Добавьте значение «C:WindowsSystem32 » в переменную PATH вашей системы.

Ответ 15

Если вы работаете в Windows Node.js делает некоторые смешные дела при обработке котировок, которые могут привести к выдаче команды, которая, как вам известно, работает с консоли, но не выполняется при Node. Например, следующее должно работать:

spawn('ping', ['"8.8.8.8"'], {});

но терпит неудачу. Там есть фантастически недокументированная опция windowsVerbatimArguments для обработки кавычек/подобных, которые, похоже, делают трюк, просто добавьте следующее к вашему объекту opts:

const opts = {
    windowsVerbatimArguments: true
};

и ваша команда должна вернуться в бизнес.

 spawn('ping', ['"8.8.8.8"'], { windowsVerbatimArguments: true });

Ответ 16

решение в моем случае

var spawn = require('child_process').spawn;

const isWindows = /^win/.test(process.platform); 

spawn(isWindows ? 'twitter-proxy.cmd' : 'twitter-proxy');
spawn(isWindows ? 'http-server.cmd' : 'http-server');

Ответ 17

npm install -g nodemon помог мне

Ответ 18

Я столкнулся с этой проблемой в Windows, где вызовы exec и spawn с одной и той же командой (без аргументов) работали нормально для exec (поэтому я знал, что моя команда была на $PATH), но spawn будет дать ENOENT. Оказалось, что мне просто нужно добавить .exe к команде, которую я использовал:

import { exec, spawn } from 'child_process';

// This works fine
exec('p4 changes -s submitted');

// This gives the ENOENT error
spawn('p4');

// But this resolves it
spawn('p4.exe');
// Even works with the arguments now
spawn('p4.exe', ['changes', '-s', 'submitted']);

Ответ 19

Вы меняете опцию env?

Тогда посмотрите на этот ответ.


Я пытался порождать процесс узла и TIL, чтобы вы распространяли существующие переменные окружения при порождении, иначе вы потеряете переменную окружения PATH и, возможно, другие важные.

Это было исправление для меня:

const nodeProcess = spawn('node', ['--help'], {
  env: {
    // by default, spawn uses 'process.env' for the value of 'env'
    // you can _add_ to this behavior, by spreading 'process.env'
    ...process.env,
    OTHER_ENV_VARIABLE: 'test',
  }
});

Ответ 20

Если у вас возникла эта проблема с приложением, источник которого вы не можете изменить, подумайте о его вызове с переменной среды NODE_DEBUG, установленной в child_process, например, NODE_DEBUG=child_process yarn test. Это предоставит вам информацию о том, какие командные строки были вызваны в каком каталоге и, как правило, последняя деталь является причиной сбоя.

Ответ 21

Добавьте C:WindowsSystem32 в переменную среды path.

Действия

  • Перейдите на мой компьютер и свойства

  • Нажмите «Дополнительные настройки»

  • Затем в переменных среды

  • Выберите path, а затем нажмите на ссылку

  • Вставьте следующие, если они еще не присутствуют: C:WindowsSystem32

  • Закройте командную строку

  • Запустите команду, которую вы хотите запустить

Windows 8 Environment variables screenshot

Error Description:

We get the following error:

events.js:72
throw er; // Unhandled 'error' event
              ^
Error: spawn ENOENT
    at errnoException (child_process.js:1000:11)
    at Process.ChildProcess._handle.onexit (child_process.js:791:34) 
click below button to copy the code. By — nodejs tutorial — team

Solution 1:

Error: spawn ENOENT 
click below button to copy the code. By — nodejs tutorial — team

The problem of this error is, there is really little information in the error message to tell you where the call site is, i.e. which executable/command is not found, especially when you have a large code base where there are a lot of spawn calls.

  • The key idea is to wrap the original spawn call with a wrapper which prints the arguments send to the spawn call.
  • Here is the wrapper function, put it at the top of the index.js or whatever your server’s starting script.
(function(){
var childProcess = require("child_process");
var oldSpawn = childProcess.spawn;
function mySpawn(){
        console.log('spawn called');
        console.log(arguments);
var result = oldSpawn.apply(this, arguments);
return result;
}
    childProcess.spawn = mySpawn;
})(); 
click below button to copy the code. By — nodejs tutorial — team

Then the next time you run your application, before the uncaught exception’s message you will see something like that:

spawn called
{'0':'hg',
'1':[],
'2':
{ cwd:'/* omitted */',
     env:{ IP:'0.0.0.0'},
     args:[]}} 
click below button to copy the code. By — nodejs tutorial — team

Solution 2:

Ensure spawn is called the right way

First, review the docs for child_process.spawn( command, args, options ):

«Launches a new process with the given command, with command line arguments in args. If omitted, args defaults to an empty Array.
The third argument is used to specify additional options, which defaults to:
{ cwd: undefined, env: process.env }
Use env to specify environment variables that will be visible to the new process, the default is process.env.
«

Solution 3:

Identify the Event Emitter that emits the error event

  • Search on your source code for each call to spawn, or child_process.spawn
spawn('some-command',['--help']);
 
click below button to copy the code. By — nodejs tutorial — team

and attach there an event listener for the ‘error’ event, so you get noticed the exact Event Emitter that is throwing it as ‘Unhandled’. After debugging, that handler can be removed.

spawn('some-command',['--help'])
.on('error',function( err ){throw err })
; 
click below button to copy the code. By — nodejs tutorial — team

Execute and you should get the file path and line number where your ‘error’ listener was registered. Something like:

/file/that/registers/the/error/listener.js:29
      throw err;
            ^
Error: spawn ENOENT
    at errnoException (child_process.js:1000:11)
    at Process.ChildProcess._handle.onexit (child_process.js:791:34) 
click below button to copy the code. By — nodejs tutorial — team
events.js:72
        throw er; // Unhandled 'error' event 
click below button to copy the code. By — nodejs tutorial — team

Solution 4:

Ensure the environment variable $PATH is set

There are two possible scenarios:

  • You rely on the default spawn behaviour, so child process environment will be the same as process.env.
  • You are explicity passing an env object to spawn on the options argument.

In both scenarios, you must inspect the PATH key on the environment object that the spawned child process will use.

Example for scenario 1

// inspect the PATH key on process.env
console.log( process.env.PATH );
spawn('some-command',['--help']); 
click below button to copy the code. By — nodejs tutorial — team

Example for scenario 2

var env = getEnvKeyValuePairsSomeHow();
// inspect the PATH key on the env object
console.log( env.PATH );
spawn('some-command',['--help'],{ env: env }); 
click below button to copy the code. By — nodejs tutorial — team

The absence of PATH (i.e., it’s undefined) will cause spawn to emit the ENOENT error, as it will not be possible to locate any command unless it’s an absolute path to the executable file.

Solution 5:

Ensure command exists on a directory of those defined in PATH

Spawn may emit the ENOENT error if the filename command (i.e, ‘some-command’) does not exist in at least one of the directories defined on PATH.

Locate the exact place of command. On most linux distributions, this can be done from a terminal with the which command. It will tell you the absolute path to the executable file (like above), or tell if it’s not found.

Example usage of which and its output when a command is found

> which some-command
some-command is /usr/bin/some-command 
click below button to copy the code. By — nodejs tutorial — team

Example usage of which and its output when a command is not found

> which some-command
bash: type: some-command: not found 
click below button to copy the code. By — nodejs tutorial — team
  • miss-installed programs are the most common cause for a not found command. Refer to each command documentation if needed and install it.
  • When command is a simple script file ensure it’s accessible from a directory on the PATH. If it’s not, either move it to one or make a link to it.
  • Once you determine PATH is correctly set and command is accessible from it, you should be able to spawn your child process without spawn ENOENT being thrown.

Шаг 1: Убедитесь, что spawn называется правильным способом

Сначала просмотрите docs для child_process.spawn(команда, args, options):

Запускает новый процесс с заданным command с аргументами командной строки в args. Если опустить, args по умолчанию задает пустой массив.

Третий аргумент используется для указания дополнительных параметров, по умолчанию:

{ cwd: undefined, env: process.env }

Используйте env, чтобы указать переменные среды, которые будут видимы для нового процесса, по умолчанию это process.env.

Убедитесь, что вы не вставляете аргументы командной строки в command, а весь spawn вызов действителен. Перейдите к следующему шагу.

Шаг 2: Идентифицируйте событие, излучающее событие ошибки

Найдите исходный код для каждого вызова spawn или child_process.spawn, т.е.

spawn('some-command', [ '--help' ]);

и прикрепите там прослушиватель событий для события «error», чтобы вы заметили точный Event Emitter, который бросает его как «Unhandled». После отладки этот обработчик можно удалить.

spawn('some-command', [ '--help' ])
  .on('error', function( err ){ throw err })
;

Выполните, и вы должны получить путь к файлу и номер строки, где был зарегистрирован ваш прослушиватель ошибок. Что-то вроде:

/file/that/registers/the/error/listener.js:29
      throw err;
            ^
Error: spawn ENOENT
    at errnoException (child_process.js:1000:11)
    at Process.ChildProcess._handle.onexit (child_process.js:791:34)

Если первые две строки все еще

events.js:72
        throw er; // Unhandled 'error' event

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

Шаг 3. Убедитесь, что переменная среды $PATH установлена ​​

Возможны два сценария:

  • Вы полагаетесь на поведение по умолчанию spawn, поэтому дочерняя среда процесса будет такой же, как process.env.
  • Вы — экспликация, передающая объект env на spawn в аргументе options.

В обоих сценариях вы должны проверить ключ PATH на объекте среды, который будет использовать дочерний процесс, созданный.

Пример сценария 1

// inspect the PATH key on process.env
console.log( process.env.PATH );
spawn('some-command', ['--help']);

Пример сценария 2

var env = getEnvKeyValuePairsSomeHow();
// inspect the PATH key on the env object
console.log( env.PATH );
spawn('some-command', ['--help'], { env: env });

Отсутствие PATH (т.е. it undefined) приведет к тому, что spawn испустит ошибку ENOENT, так как не удастся найти какой-либо command, если только это абсолютный путь к исполняемому файлу.

Когда PATH установлен правильно, перейдите к следующему шагу. Это должен быть каталог или список каталогов. Последний случай является обычным.

Шаг 4: Убедитесь, что command существует в каталоге тех, которые определены в PATH

Spawn может испускать ошибку ENOENT, если имя файла command (т.е. ‘some-command’) не существует, по крайней мере, в одном из каталогов, определенных в PATH.

Найдите точное место command. В большинстве дистрибутивов Linux это можно сделать с терминала с помощью команды which. Он укажет вам абсолютный путь к исполняемому файлу (например, выше) или сообщите, не найден ли он.

Пример использования которого и его вывод, когда команда найдена

> which some-command
some-command is /usr/bin/some-command

Пример использования которого и его вывод, когда команда не найдена

> which some-command
bash: type: some-command: not found

прошитые программы являются наиболее распространенной причиной для не найденной команды. Обратитесь к каждой документации команды, если необходимо, и установите ее.

Когда команда представляет собой простой файл script, убедитесь, что он доступен из каталога в PATH.. Если это не так, переместите его на один или создайте для него ссылку.

После того, как вы определили PATH правильно установленный и command доступен из него, вы сможете запустить дочерний процесс без spawn ENOENT.

Понравилась статья? Поделить с друзьями:
  • Error spawn run exe sirus
  • Error spawn node enoent
  • Error setting certificate verify locations visual studio
  • Error spawn ffmpeg enoent
  • Error setting certificate verify locations cafile etc pki tls certs ca bundle crt capath none