Spędziłem 7 godzin na tropieniu buga w swojej aplikacji, tak śmiesznego, że aż wstyd. No ale klepiąc sobie kod we froncie, w którym jestem dosyć słaby, dostałem taki error na klatę:
WARN in ./node_modules/chokidar/lib/fsevents-handler.js friendly-errors 16:32:21
Module not found: Error: Can't resolve 'fsevents' in 'C:\JDeveloper\mywork\Vue\my-project-fronted-test\node_modules\chokidar\lib' friendly-errors 16:32:21
friendly-errors 16:32:21
ERROR Failed to compile with 13 errors friendly-errors 16:32:21
These dependencies were not found: friendly-errors 16:32:21
friendly-errors 16:32:21
* child_process in ./node_modules/nodemon/lib/version.js, ./node_modules/nodemon/lib/monitor/run.js and 1 other friendly-errors 16:32:21
* fs in ./node_modules/chokidar/index.js, ./node_modules/chokidar/lib/fsevents-handler.js and 8 others friendly-errors 16:32:21
friendly-errors 16:32:21
To install them, you can run: npm install --save child_process fs friendly-errors 16:32:21
i Waiting for file changes 16:32:21
i Memory usage: 449 MB (RSS: 633 MB) 16:32:21
i Listening on: http://localhost:8081/ 16:32:21
WARN Error from chokidar (C:\): Error: EBUSY: resource busy or locked, lstat 'C:\hiberfil.sys' 16:32:22
ERROR in ./node_modules/nodemon/lib/version.js
Module not found: Error: Can't resolve 'child_process' in 'C:\JDeveloper\mywork\Vue\my-project-fronted-test\node_modules\nodemon\lib'
ERROR in ./node_modules/nodemon/lib/spawn.js
Module not found: Error: Can't resolve 'child_process' in 'C:\JDeveloper\mywork\Vue\my-project-fronted-test\node_modules\nodemon\lib'
ERROR in ./node_modules/nodemon/lib/monitor/run.js
Module not found: Error: Can't resolve 'child_process' in 'C:\JDeveloper\mywork\Vue\my-project-fronted-test\node_modules\nodemon\lib\monitor'
ERROR in ./node_modules/pstree.remy/lib/index.js
Module not found: Error: Can't resolve 'child_process' in 'C:\JDeveloper\mywork\Vue\my-project-fronted-test\node_modules\pstree.remy\lib'
ERROR in ./node_modules/pstree.remy/lib/tree.js
Module not found: Error: Can't resolve 'child_process' in 'C:\JDeveloper\mywork\Vue\my-project-fronted-test\node_modules\pstree.remy\lib'
ERROR in ./node_modules/pstree.remy/lib/utils.js
Module not found: Error: Can't resolve 'child_process' in 'C:\JDeveloper\mywork\Vue\my-project-fronted-test\node_modules\pstree.remy\lib'
ERROR in ./node_modules/chokidar/index.js
Module not found: Error: Can't resolve 'fs' in 'C:\JDeveloper\mywork\Vue\my-project-fronted-test\node_modules\chokidar'
Pierwsza rzecz to oczywiście Google i zaczynamy zabawę, podmiana wersji node, wyłączanie antywirusów, czyszczenie node_modules
, cachy, temp, package-lock.json
, instalowanie różnych wersji itp itd. No ni cholery nie idzie. Przeglądam swoje ostatnie commity, nic nie widzę, więc piszę na stacku, robię issue na gicie i pykam w rummikub z dziewczyną czekając, może ktoś pomoże...
Nie lubię kończyć tygodnia z przeświadczeniem, ze mój projekt nawet się nie kompiluje, a ja nie wiem czemu. Ciężko mi wtedy odpocząć. Więc z desperacji szukam na piechotę, tworzę nowy projekt, kopiuję package.json
, nuxt-config.js
- działa. Zaczynam kopiować po kolei źródła sprawdzając, kiedy się wysypie. I jeb! Wywaliło się przez jeden moduł vuexa, a dokładnie przez tę linijkę:
import {
reset
} from "nodemon";
Oczywiście ja jej nie napisałem. Dodał ją z automatu jakiś plugin w moim Visual Studio Code, kiedy pisałem mutację o pięknej nazwie reset()
.
Fakt, gdybym się cofnął gitem do poprzednich commitów zamiast tylko przeglądać zmiany, to bym to wcześniej wykrył. Jednak ten kawałek głupiego kodu dodanego przez IDE + całkowicie niepowiązane i nic nie mówiące treści błędów, trochę mi krwi napsuły. Takie meaningless
wyjątki pamiętam jeszcze za czasów siedzenia w Oracle ADF i Webcenter, choć tam sytuację ratowało forum, na którym udzielali się pracownicy oracla i jakoś to rozszyfrowywali..
Podnieśliśmy wersję webpacka do 4 oraz pozbyliśmy się całkowicie gulpa. Zmiana jest dość duża więc bądźcie czujni gdyby gdzieś nie zadziałały JavaScripty :)
#coyote #4programmers.net #webpack
props za vue, nie wiem co ludzie widzą w reacie :P