Laravel 8 Tailwind: webpack-cli TypeError: compiler.plugin is not a function
Laravel 8 Tailwind: webpack-cli TypeError: compiler.plugin is not a function
我想在 Laravel 8 中安装 Tailwind。我已经按照 documentation 并输入了以下内容(没有显示错误)。
npm install -D tailwindcss@latest postcss@latest autoprefixer@latest
然后我无法成功运行 npm run watch
因为安装最新的PostCSS 版本v8 时出现问题。我看过一个解决方案,根据 ,我不得不升级 Webpack。然后我输入:
npm install laravel-mix@latest
根据文档 https://laravel-mix.com/docs/6.0/upgrade,这包括最新的 Webpack 版本。 (没有显示错误)
如果我输入 npm run watch,
我有以下错误;我不明白,也没有在 Google 中找到任何内容...我正在寻求帮助:
npm WARN lifecycle The node binary used for scripts is /snap/bin/node
but npm is using /snap/node/3292/bin/node itself. Use the
--scripts-prepend-node-path
option to include the path for the node
binary npm was executed with.
@ watch /home/x/Documents/projets/web/site_perso
npm run development -- --watch
npm WARN lifecycle 用于脚本的节点二进制文件是 /snap/bin/node
但是 npm 正在使用 /snap/node/3292/bin/node 本身。使用
--scripts-prepend-node-path
包含节点路径的选项
二进制 npm 是用
执行的
@ development /home/x/Documents/projets/web/site_perso
cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --config=node_modules/laravel-mix/setup/webpack.config.js "--watch"
[webpack-cli] TypeError: compiler.plugin 不是函数
在 BrowserSyncPlugin.apply (/home/x/Documents/projets/web/site_perso/node_modules/browser-sync-webpack-plugin/lib/BrowserSyncPlugin.js:22:12)
在 createCompiler (/home/x/Documents/projets/web/site_perso/node_modules/webpack/lib/webpack.js:74:12)
在创建时(/home/x/Documents/projets/web/site_perso/node_modules/webpack/lib/webpack.js:127:16)
在 webpack (/home/x/Documents/projets/web/site_perso/node_modules/webpack/lib/webpack.js:135:47)
在 WebpackCLI.f [作为 webpack] (/home/x/Documents/projets/web/site_perso/node_modules/webpack/lib/index.js:55:16)
在 WebpackCLI.createCompiler (/home/x/Documents/projets/web/site_perso/node_modules/webpack-cli/lib/webpack-cli.js:1845:29)
在异步 WebpackCLI.buildCommand (/home/x/Documents/projets/web/site_perso/node_modules/webpack-cli/lib/webpack-cli.js:1952:20)
在异步命令。 (/home/x/Documents/projets/web/site_perso/node_modules/webpack-cli/lib/webpack-cli.js:742:25)
在异步 Promise.all(索引 1)
在异步命令。 (/home/x/Documents/projets/web/site_perso/node_modules/webpack-cli/lib/webpack-cli.js:1289:13)
错误!代码 ELIFECYCLE npm ERR! errno 2 npm 错误! @ 发展:
cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --config=node_modules/laravel-mix/setup/webpack.config.js "--watch"
npm 错误!退出状态 2 npm ERR!错误!在@失败
开发脚本。错误!这可能不是 npm 的问题。
上面可能有额外的日志输出。
npm 错误!此 运行 的完整日志可在以下位置找到:npm ERR!
/home/x/.npm/_logs/2021-06-06T08_40_27_985Z-debug.log npm 错误!代码
生命周期 npm 错误! errno 2 npm 错误! @手表:npm run development -- --watch
npm 错误!退出状态 2 npm ERR!错误! @watch 脚本失败。错误!这可能不是 npm 的问题。那里
可能是上面的额外日志输出。
npm 错误!此 运行 的完整日志可在以下位置找到:npm ERR!
/home/x/.npm/_logs/2021-06-06T08_40_28_010Z-debug.log
这是我的 package.JSON
文件的摘录,用于依赖项:
"devDependencies": {
"autoprefixer": "^10.2.6",
"axios": "^0.19",
"browser-sync": "^2.26.13",
"browser-sync-webpack-plugin": "^2.0.1",
"cross-env": "^7.0.3",
"laravel-mix": "^6.0.19",
"less": "^3.12.2",
"less-loader": "^7.0.2",
"lodash": "^4.17.19",
"resolve-url-loader": "^3.1.0",
"tailwindcss": "^2.1.4",
"vue-template-compiler": "^2.6.12"
}
我已经通过重新安装 browser-sync-webpack-plugin
解决了这个问题,根据错误,这是导致错误的插件。以下是解决我的问题的以下命令:
npm uninstall browser-sync-webpack-plugin
npm install browser-sync-webpack-plugin
已将此插件的 package.JSON
行从“^2.0.1”升级到“^2.3.0”。
我想我应该更新我所有的 NPM 插件(参见 NPm 命令 npm outdated
和 npm update
)。
我想在 Laravel 8 中安装 Tailwind。我已经按照 documentation 并输入了以下内容(没有显示错误)。
npm install -D tailwindcss@latest postcss@latest autoprefixer@latest
然后我无法成功运行 npm run watch
因为安装最新的PostCSS 版本v8 时出现问题。我看过一个解决方案,根据
npm install laravel-mix@latest
根据文档 https://laravel-mix.com/docs/6.0/upgrade,这包括最新的 Webpack 版本。 (没有显示错误)
如果我输入 npm run watch,
我有以下错误;我不明白,也没有在 Google 中找到任何内容...我正在寻求帮助:
npm WARN lifecycle The node binary used for scripts is /snap/bin/node but npm is using /snap/node/3292/bin/node itself. Use the
--scripts-prepend-node-path
option to include the path for the node binary npm was executed with.@ watch /home/x/Documents/projets/web/site_perso npm run development -- --watch
npm WARN lifecycle 用于脚本的节点二进制文件是 /snap/bin/node 但是 npm 正在使用 /snap/node/3292/bin/node 本身。使用
执行的--scripts-prepend-node-path
包含节点路径的选项 二进制 npm 是用@ development /home/x/Documents/projets/web/site_perso cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --config=node_modules/laravel-mix/setup/webpack.config.js "--watch"
[webpack-cli] TypeError: compiler.plugin 不是函数 在 BrowserSyncPlugin.apply (/home/x/Documents/projets/web/site_perso/node_modules/browser-sync-webpack-plugin/lib/BrowserSyncPlugin.js:22:12) 在 createCompiler (/home/x/Documents/projets/web/site_perso/node_modules/webpack/lib/webpack.js:74:12) 在创建时(/home/x/Documents/projets/web/site_perso/node_modules/webpack/lib/webpack.js:127:16) 在 webpack (/home/x/Documents/projets/web/site_perso/node_modules/webpack/lib/webpack.js:135:47) 在 WebpackCLI.f [作为 webpack] (/home/x/Documents/projets/web/site_perso/node_modules/webpack/lib/index.js:55:16) 在 WebpackCLI.createCompiler (/home/x/Documents/projets/web/site_perso/node_modules/webpack-cli/lib/webpack-cli.js:1845:29) 在异步 WebpackCLI.buildCommand (/home/x/Documents/projets/web/site_perso/node_modules/webpack-cli/lib/webpack-cli.js:1952:20) 在异步命令。 (/home/x/Documents/projets/web/site_perso/node_modules/webpack-cli/lib/webpack-cli.js:742:25) 在异步 Promise.all(索引 1) 在异步命令。 (/home/x/Documents/projets/web/site_perso/node_modules/webpack-cli/lib/webpack-cli.js:1289:13) 错误!代码 ELIFECYCLE npm ERR! errno 2 npm 错误! @ 发展:
cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --config=node_modules/laravel-mix/setup/webpack.config.js "--watch"
npm 错误!退出状态 2 npm ERR!错误!在@失败 开发脚本。错误!这可能不是 npm 的问题。 上面可能有额外的日志输出。npm 错误!此 运行 的完整日志可在以下位置找到:npm ERR!
/home/x/.npm/_logs/2021-06-06T08_40_27_985Z-debug.log npm 错误!代码 生命周期 npm 错误! errno 2 npm 错误! @手表:npm run development -- --watch
npm 错误!退出状态 2 npm ERR!错误! @watch 脚本失败。错误!这可能不是 npm 的问题。那里 可能是上面的额外日志输出。npm 错误!此 运行 的完整日志可在以下位置找到:npm ERR!
/home/x/.npm/_logs/2021-06-06T08_40_28_010Z-debug.log
这是我的 package.JSON
文件的摘录,用于依赖项:
"devDependencies": {
"autoprefixer": "^10.2.6",
"axios": "^0.19",
"browser-sync": "^2.26.13",
"browser-sync-webpack-plugin": "^2.0.1",
"cross-env": "^7.0.3",
"laravel-mix": "^6.0.19",
"less": "^3.12.2",
"less-loader": "^7.0.2",
"lodash": "^4.17.19",
"resolve-url-loader": "^3.1.0",
"tailwindcss": "^2.1.4",
"vue-template-compiler": "^2.6.12"
}
我已经通过重新安装 browser-sync-webpack-plugin
解决了这个问题,根据错误,这是导致错误的插件。以下是解决我的问题的以下命令:
npm uninstall browser-sync-webpack-plugin
npm install browser-sync-webpack-plugin
已将此插件的 package.JSON
行从“^2.0.1”升级到“^2.3.0”。
我想我应该更新我所有的 NPM 插件(参见 NPm 命令 npm outdated
和 npm update
)。