FilamentPHP搭配TailwindCSS v4部署时无法找到tailwind.config.preset模块
问题:Nixpacks部署时无法找到Filament Tailwind预设文件
本地执行npm run build一切正常,但将相同代码通过Nixpacks部署到服务器时构建失败,报错如下:
[vite:css] [postcss] Cannot find module './vendor/filament/support/tailwind.config.preset'
[vite:css] [postcss] Cannot find module './vendor/filament/support/tailwind.config.preset' Require stack: - /app/tailwind.config.js file: /app/resources/css/app.css:undefined:NaN at Function._resolveFilename (node:internal/modules/cjs/loader:1249:15) at Function.resolve (node:internal/modules/helpers:148:19) at _resolve (/app/node_modules/tailwindcss/node_modules/jiti/dist/jiti.js:1:246378) at jiti (/app/node_modules/tailwindcss/node_modules/jiti/dist/jiti.js:1:249092) at /app/tailwind.config.js:1:260 at evalModule (/app/node_modules/tailwindcss/node_modules/jiti/dist/jiti.js:1:251913) at jiti (/app/node_modules/tailwindcss/node_modules/jiti/dist/jiti.js:1:249841) at /app/node_modules/tailwindcss/lib/lib/load-config.js:52:26 at loadConfig (/app/node_modules/tailwindcss/lib/lib/load-config.js:62:6) at getTailwindConfig (/app/node_modules/tailwindcss/lib/lib/setupTrackingContext.js:71:116) ERROR: process "/bin/bash -ol pipefail -c npm run build" did not complete successfully: exit code: 1
相关配置文件
tailwind.config.js
import preset from './vendor/filament/support/tailwind.config.preset' export default { presets: [preset], content: [ './app/Filament/**/*.php', './resources/views/filament/**/*.blade.php', './vendor/filament/**/*.blade.php', ], }
package.json
"dependencies": { "@tailwindcss/vite": "^4.1.7", "axios": "1.9.0", "concurrently": "^9.1.2", "laravel-vite-plugin": "^1.2.0", "postcss-selector-parser": "^7.1.0", "vite": "6.3.5" }, "optionalDependencies": { "@rollup/rollup-linux-x64-gnu": "4.40.2", "@tailwindcss/oxide-linux-x64-gnu": "^4.1.7", "lightningcss-linux-x64-gnu": "^1.30.1" }, "devDependencies": { "@tailwindcss/forms": "^0.5.10", "@tailwindcss/typography": "^0.5.16", "autoprefixer": "^10.4.21", "postcss": "^8.5.3", "postcss-nesting": "^13.0.1", "tailwindcss": "^3.4.17" },
composer.json
"require": { "php": "^8.4", "filament/filament": "3.3", "laravel/framework": "^12.0", "laravel/tinker": "^2.10.1", "livewire/flux": "^2.1.1", "livewire/volt": "^1.7.0" }, "require-dev": { "fakerphp/faker": "^1.23", "laravel/pail": "^1.2.2", "laravel/pint": "^1.18", "laravel/sail": "^1.41", "mockery/mockery": "^1.6", "nunomaduro/collision": "^8.6", "pestphp/pest": "^3.8", "pestphp/pest-plugin-laravel": "^3.2" },
解决办法
确保Composer依赖已安装:Nixpacks默认可能不会自动执行
composer install,需要在构建流程中明确添加该步骤。在项目根目录创建nixpacks.toml文件,指定构建顺序:[phases.install] commands = ["composer install --no-dev --optimize-autoloader", "npm install"] [phases.build] commands = ["npm run build"]检查路径大小写:Linux环境大小写敏感,确认
vendor/filament/support/tailwind.config.preset的路径大小写与本地一致,避免因大小写不匹配导致文件找不到。调整Tailwind配置的导入路径:尝试使用绝对路径导入预设文件,避免相对路径解析问题:
import preset from `${process.cwd()}/vendor/filament/support/tailwind.config.preset`验证Nixpacks工作目录:确认Nixpacks的工作目录为项目根目录(报错中显示为
/app),如果工作目录不对,会导致相对路径解析错误。可以在构建日志中查看当前工作目录信息。
内容的提问来源于stack exchange,提问作者subIT
相关产品推荐
相关产品推荐

