¿Alguien tiene una idea de por qué arroja el siguiente error y cómo solucionarlo? También intenté reinstalar todos los paquetes usando npm install varias veces. Reinstalar NodeJS en Windows no funcionó; Estoy usando Laravel 8.22.0.
Registro completo
0 verbose cli [ 0 verbose cli 'D:\\Programme\\NodeJS\\node.exe', 0 verbose cli 'D:\\Programme\\NodeJS\\node_modules\\npm\\bin\\npm-cli.js', 0 verbose cli 'run', 0 verbose cli 'development' 0 verbose cli ] 1 info using npm@7.3.0 2 info using node@v15.5.1 3 timing config:load:defaults Completed in 1ms 4 timing config:load:file:D:\Programme\NodeJS\node_modules\npm\npmrc Completed in 2ms 5 timing config:load:builtin Completed in 2ms 6 timing config:load:cli Completed in 1ms 7 timing config:load:env Completed in 0ms 8 timing config:load:file:D:\My\Path\.npmrc 33,,,,,,,,Completed in 0ms 9 timing config:load:project Completed in 1ms 10 timing config:load:file:C:\Users\Privat\.npmrc Completed in 1ms 11 timing config:load:user Completed in 1ms 12 timing config:load:file:C:\Users\Privat\AppData\Roaming\npm\etc\npmrc Completed in 0ms 13 timing config:load:global Completed in 0ms 14 timing config:load:cafile Completed in 0ms 15 timing config:load:validate Completed in 1ms 16 timing config:load:setUserAgent Completed in 0ms 17 timing config:load:setEnvs Completed in 1ms 18 timing config:load Completed in 8ms 19 verbose npm-session 8b04ab779a67efab 20 timing npm:load Completed in 18ms 21 timing command:run-script Completed in 23ms 22 verbose stack Error: command failed 22 verbose stack at ChildProcess.<anonymous> (D:\Programme\NodeJS\node_modules\npm\node_modules\@npmcli\promise-spawn\index.js:64:27) 22 verbose stack at ChildProcess.emit (node:events:376:20) 22 verbose stack at maybeClose (node:internal/child_process:1063:16) 22 verbose stack at Process.ChildProcess._handle.onexit (node:internal/child_process:295:5) 23 verbose cwd D:\My\Path 24 verbose Windows_NT 10.0.19042 25 verbose argv "D:\\Programme\\NodeJS\\node.exe" "D:\\Programme\\NodeJS\\node_modules\\npm\\bin\\npm-cli.js" "run" "development" 26 verbose node v15.5.1 27 verbose npm v7.3.0 28 error code 1 29 error path D:\My\Path\IDE 30 error command failed 31 error command C:\WINDOWS\system32\cmd.exe /d /s /c mix 32 verbose exit 1paquete.json
{ "private": true, "scripts": { "dev": "npm run development", "development": "mix", "watch": "mix watch", "watch-poll": "mix watch -- --watch-options-poll=1000", "hot": "mix watch --hot", "prod": "npm run production", "production": "mix --production" }, "devDependencies": { "axios": "^0.21.1", "bootstrap": "^4.0.0", "clean-webpack-plugin": "^3.0.0", "cross-env": "^5.1", "jquery": "^3.2", "laravel-mix": "^5.0.5", "less": "^3.12.2", "less-loader": "^7.0.0", "lodash": "^4.17.13", "popper.js": "^1.12", "resolve-url-loader": "^3.1.2", "sass": "^1.20.1", "sass-loader": "7.*", "vue": "^2.5.17", "vue-template-compiler": "^2.6.10" }, "dependencies": { "bootstrap-vue": "^2.21.2", "uglify-js": "^3.10.3" } }Deberá actualizar sus dependencias de Laravel Mix, SASS Loader a la última e instalar PostCSS y Webpack.
npm i --save-dev laravel-mix@latest && npm i --save-dev sass-loader@latest && npm i --save-dev postcss@latest && npm i --save-dev webpack@latestAhora debería tener la versión 6 de Laravel Mix, por lo que el único paso restante es compilar sus activos. Luego, use el nuevo ejecutable Mix o use npm.
npx mix -pO
npm run prodpaquete.json
{ "private": true, "scripts": { "dev": "npm run development", "development": "mix", "watch": "mix watch", "watch-poll": "mix watch -- --watch-options-poll=1000", "hot": "mix watch --hot", "prod": "npm run production", "production": "mix --production" }, "devDependencies": { "axios": "^0.21.1", "bootstrap": "^4.0.0", "bootstrap-vue": "^2.21.2", "clean-webpack-plugin": "^3.0.0", "cross-env": "^5.1", "jquery": "^3.2", "laravel-mix": "^6.0.9", "less": "^3.12.2", "less-loader": "^7.0.0", "lodash": "^4.17.13", "popper.js": "^1.12", "postcss": "^8.2.4", "resolve-url-loader": "^3.1.2", "sass": "^1.20.1", "sass-loader": "^10.1.1", "uglify-js": "^3.10.3", "vue": "^2.5.17", "vue-template-compiler": "^2.6.10", "webpack": "^5.14.0" } }Por si alguien tiene un problema similar.
NPM está de mal humor. A veces vale la pena intentar borrar todos los módulos e instalarlos de nuevo:
en Linux es un comando simple: rm -rf node_modules en una carpeta raíz del proyecto,
que simplemente ejecutar npm install nuevamente.
Recientemente, laravel mix se actualizó a laravel mix 6, por lo que recomendaría verificar la versión actual de npm/node que está utilizando e intentar actualizarla a la última versión.
npm -vPuede actualizar a la última versión de npm usando:
npm install -g npm@latestO actualice a la versión más reciente:
npm install -g npm@nextProbé muchas soluciones pero solo esta funcionó para mí:
Primero, actualiza tu laravel-mix
npm install laravel-mix@latestLuego haga una instalación limpia de npm:
npm clean-installeso debería corregir el error de mezcla de laravel 8.
Tuve el mismo problema (Win 10 como anfitrión y Homestead en Vagrant). Intenté lo anterior pero todavía recibí el error. Lo siguiente terminó funcionando para mí:
node c:\<path to node installation>\node_modules\npm\bin\npm-cli.js install --scripts-prepend-node-path=autoEn versiones anteriores, la instalación de paquetes de nodos desde la máquina virtual en la unidad montada (sin enlaces bin porque Windows) estaba bien, laravel mix funcionaría. Supongo que se debe a que el archivo package.json era más detallado y especificaba rutas completas: diferencia en los archivos package.json aquí .
Con la sintaxis concisa en la nueva versión, necesita el enlace bin para seguir la referencia. Ejecutar el comando sin privilegios de administrador falló porque cambiar el nombre de los archivos podría ser diferente para usted. En el futuro, este deberá ser el nuevo proceso para instalar paquetes de nodos (en el host frente a en la máquina virtual).
Tuve el mismo problema después de instalar laravel/ui :
composer require laravel/ui php artisan ui vue --authEn este caso hay dos posibles soluciones:
node_modules con RMDIR "FOLDERNAME" /S /Q y vuelva a instalarla con npm installnpm install solo después de que se hayan instalado laravel/ui y ui vue (lo sé, suena loco, pero así fue exactamente para mí) Después de haber realizado uno de los dos puntos, npm run dev .
npm install laravel-mix@latest y es posible que deba instalar las dependencias de pares heredadas de vue-loader. Por lo general, se instala o actualiza automáticamente durante npm run dev
El mejor método para corregir el error de mezcla no encontrada es reinstalar npm usando el comando:
npm clean-install
Me enfrenté a la misma situación. Después de un par de horas finalmente funcionó. Lo que hice:
npm install -g npm@latestvagrant reload --provision probablemente sería suficiente)sudo yarn install luego sudo yarn run devpor favor ejecute este comando. Funciona para mí.
yarn install --ignore-engines