Laravel,NPM:找不到命令“mix”

Pin*_*kio 11 php node.js webpack laravel-mix laravel-8

有谁知道为什么它会引发以下错误以及如何修复它?我还尝试使用npm install多次重新安装所有软件包。在 Windows 上重新安装 NodeJS 不起作用;我正在使用 Laravel 8.22.0。

在此处输入图片说明

完整日志

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 1
Run Code Online (Sandbox Code Playgroud)

包.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"
    }
}
Run Code Online (Sandbox Code Playgroud)

har*_*are 28

我尝试了很多解决方案,但只有这对我有用:

首先,更新你的 laravel-mix

npm install laravel-mix@latest
Run Code Online (Sandbox Code Playgroud)

然后做一个干净的 npm 安装:

npm clean-install
Run Code Online (Sandbox Code Playgroud)

这应该可以修复 laravel 8 mix 错误。


Kar*_*ill 10

您需要将 Laravel Mix、SASS Loader 依赖项升级到最新版本并安装 PostCSS 和 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@latest
Run Code Online (Sandbox Code Playgroud)

您现在应该拥有 Laravel Mix 版本 6,因此剩下的唯一步骤就是编译您的资源。然后,使用新的 Mix 可执行文件或使用 npm。

npx mix -p
Run Code Online (Sandbox Code Playgroud)

或者

npm run prod
Run Code Online (Sandbox Code Playgroud)

包.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"
    }
}
Run Code Online (Sandbox Code Playgroud)


小智 6

如果有人有类似的问题。

NPM 喜怒无常。有时值得尝试删除所有模块并重新安装它们:

在 Linux 上,这是一个简单的命令:rm -rf node_modules在项目根文件夹中,

而不是npm install再次运行。

  • 我可以确认这一点 (2认同)