0

I've been struggling to fix the common 'cross-env' is not recognized as an internal or external command, problem with NPM in a Laravel 9.x project on a Windows 10 machine. I've gone over most of the other similar topics but I can't find a solution that works and I'm not familiar with yarn which is what a lot of the answers involve.

npm install -g cross-env was used but trying to run NPM then gave a path error:

> development
> cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-mde_modules/laravel-mix/setup/webpack.config.js

The system cannot find the path specified.
node:events:491
      throw er; // Unhandled 'error' event
      ^

Error: spawn node_modules\webpack\bin\webpack.js ENOENT
    at notFoundError (C:\Users\Tobias\AppData\Roaming\npm\node_modules\cross-env\node_molib\enoent.js:6:26)
    at verifyENOENT (C:\Users\Tobias\AppData\Roaming\npm\node_modules\cross-env\node_modib\enoent.js:40:16)
    at cp.emit (C:\Users\Tobias\AppData\Roaming\npm\node_modules\cross-env\node_modules\oent.js:27:25)
Emitted 'error' event on ChildProcess instance at:
    at cp.emit (C:\Users\Tobias\AppData\Roaming\npm\node_modules\cross-env\node_modules\cross-spawn\lib\enoent.js:30:37)
    at ChildProcess._handle.onexit (node:internal/child_process:291:12) {
  code: 'ENOENT',
  errno: 'ENOENT',
  path: 'node_modules\\webpack\\bin\\webpack.js',
  spawnargs: [
    '--progress',
    '--hide-modules',
    '--config=node_modules/laravel-mix/setup/webpack.config.js'
  ]
}
Node.js v18.12.1`

To solve this I used the command npm config set script-shell bash as suggested here

But this then gives a 'NOENT' problem that I can't find a good solution for to fix (or revert back)


> development
> cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-m

npm ERR! code ENOENT
npm ERR! syscall spawn bash
npm ERR! path C:\xampp\htdocs\antheap
npm ERR! errno -4058
npm ERR! enoent spawn bash ENOENT
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Tobias\AppData\Local\npm-cache\_logs\2022-12-22T09_34_44_288Z-debug-0.log

here is the logfile

0 verbose cli C:\Program Files\nodejs\node.exe C:\Users\Tobias\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js
1 info using npm@8.11.0
2 info using node@v18.12.1
3 timing npm:load:whichnode Completed in 1ms
4 timing config:load:defaults Completed in 2ms
5 timing config:load:file:C:\Users\Tobias\AppData\Roaming\npm\node_modules\npm\npmrc Completed in 3ms
6 timing config:load:builtin Completed in 3ms
7 timing config:load:cli Completed in 1ms
8 timing config:load:env Completed in 1ms
9 timing config:load:file:C:\xampp\htdocs\antheap\.npmrc Completed in 0ms
10 timing config:load:project Completed in 2ms
11 timing config:load:file:C:\Users\Tobias\.npmrc Completed in 0ms
12 timing config:load:user Completed in 0ms
13 timing config:load:file:C:\Users\Tobias\AppData\Roaming\npm\etc\npmrc Completed in 0ms
14 timing config:load:global Completed in 0ms
15 timing config:load:validate Completed in 1ms
16 timing config:load:credentials Completed in 0ms
17 timing config:load:setEnvs Completed in 1ms
18 timing config:load Completed in 12ms
19 timing npm:load:configload Completed in 12ms
20 timing npm:load:mkdirpcache Completed in 1ms
21 timing npm:load:mkdirplogs Completed in 0ms
22 verbose title npm run development
23 verbose argv "run" "development"
24 timing npm:load:setTitle Completed in 1ms
25 timing config:load:flatten Completed in 2ms
26 timing npm:load:display Completed in 3ms
27 verbose logfile logs-max:10 dir:C:\Users\Tobias\AppData\Local\npm-cache\_logs
28 verbose logfile C:\Users\Tobias\AppData\Local\npm-cache\_logs\2022-12-22T09_34_44_288Z-debug-0.log
29 timing npm:load:logFile Completed in 15ms
30 timing npm:load:timers Completed in 0ms
31 timing npm:load:configScope Completed in 0ms
32 timing npm:load Completed in 34ms
33 silly logfile start cleaning logs, removing 2 files
34 timing command:run Completed in 8ms
35 
35 verbose stack     at ChildProcess._handle.onexit (node:internal/child_process:283:19)
35 verbose stack     at onErrorNT (node:internal/child_process:476:16)
35 verbose stack     at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
36 verbose cwd C:\xampp\htdocs\antheap
37 verbose Windows_NT 10.0.19044
38 verbose node v18.12.1
39 verbose npm  v8.11.0
40 error code ENOENT
41 error syscall spawn bash
42 error path C:\xampp\htdocs\antheap
43 error errno -4058
44 error enoent spawn bash ENOENT
45 error enoent This is related to npm not being able to find a file.
45 error enoent
46 verbose exit -4058
47 timing npm Completed in 54ms
48 verbose code -4058
49 error A complete log of this run can be found in:
49 error     C:\Users\Tobias\AppData\Local\npm-cache\_logs\2022-12-22T09_34_44_288Z-debug-0.log

I saw a suggesting to use npm ci but this didn't work. I've also reinstalled Node.js, and ran npm install, both to no effect.

Deleting and reinstalling NPM within the app doesn't help either. I also show a host of other possible issues (like the old lock file which it however never seems to update properly),


PS C:\xampp\htdocs\antheap> npm install
npm WARN old lockfile 
npm WARN old lockfile The package-lock.json file was created with an old version of npm,
npm WARN old lockfile so supplemental metadata must be fetched from the registry.
npm WARN old lockfile
npm WARN old lockfile This is a one-time fix-up, please be patient...
npm WARN old lockfile
npm WARN deprecated har-validator@5.1.3: this library is no longer supported
npm WARN deprecated chokidar@2.1.6: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
npm WARN deprecated browserslist@2.11.3: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.   
npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)    
npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)    
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated extract-text-webpack-plugin@3.0.2: Deprecated. Please use https://github.com/webpack-contrib/mini-css-extract-plugin
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated source-map-url@0.4.0: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated flatten@1.0.2: flatten is deprecated in favor of utility frameworks such as lodash.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated source-map-resolve@0.5.2: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated uuid@3.3.2: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated acorn-dynamic-import@2.0.2: This is probably built in to whatever tool you're using. If you still need it... idk
npm WARN deprecated browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.    
npm WARN deprecated uglify-es@3.3.9: support for ECMAScript is superseded by `uglify-js` as of v3.13.0
npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm WARN deprecated browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.    
npm WARN deprecated browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
npm WARN deprecated axios@0.18.1: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410
npm WARN deprecated popper.js@1.15.0: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
npm WARN deprecated buffer@4.9.1: This version of 'buffer' is out-of-date. You must update to v4.9.2 or newer
npm WARN deprecated svgo@0.7.2: This SVGO version is no longer supported. Upgrade to v2.x.x.
npm WARN deprecated tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.
npm WARN deprecated core-js@2.6.9: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
npm ERR! code ENOENT
npm ERR! syscall spawn bash
npm ERR! path C:\xampp\htdocs\antheap\node_modules\node-sass
npm ERR! errno -4058
npm ERR! enoent spawn bash ENOENT
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Tobias\AppData\Local\npm-cache\_logs\2022-12-22T09_52_52_967Z-debug-0.log

0 Answers0