Я пытаюсь развернуть свое приложение Rails 7 на Heroku, но оно не работает Running: rake assets:precompile
с ошибкой: Error: Cannot find module 'tailwindcss/defaultTheme' when deploying to Heroku
Пробовал бегать RAILS_ENV=production bundle exec rake assets:precompile
но не помогло.
Я использую gem "tailwindcss-rails", "~> 2.0"
, чтобы добавить TailwindCSS в свое приложение Rails.
Он работает локально, когда я запускаю его с помощью bin/dev
(или rails s
после запуска bin/dev
).
Я пропустил какой-то важный шаг здесь?
Вот мой tailwind.config.js
для справки.
const defaultTheme = require('tailwindcss/defaultTheme')
module.exports = {
content: [
'./public/*.html',
'./app/helpers/**/*.rb',
'./app/javascript/**/*.js',
'./app/views/**/*',
'./node_modules/flowbite/**/*.js'
],
theme: {
extend: {
fontFamily: {
sans: ['Inter var', ...defaultTheme.fontFamily.sans],
},
colors: {
primary: "#000000",
action: "#000000",
"action-hover": "#000000"
}
},
},
plugins: [
require('@tailwindcss/forms'),
require('@tailwindcss/aspect-ratio'),
require('@tailwindcss/typography'),
require('@tailwindcss/container-queries'),
require('flowbite/plugin')
]
}
Итак, я обнаружил, что Heroku не запускается npm install
, потому что он распознал его только как приложение Ruby, поэтому у него был только heroku/ruby
buildpack.
Мне также пришлось добавить herok/nodejs
сборочный пакет, чтобы он работал npm install
. Примечание. Кроме того, heroku/nodejs
buildpack должен быть на 1-м месте в heroku buildpacks
(команда)
Я добавил это с heroku buildpacks:add --index 1 heroku/nodejs
. Но убедитесь, что он не переопределяет сборочный пакет Ruby, поэтому, если он действительно добавляет его обратно.
Итак, в итоге команда heroku buildpacks
должна выглядеть так:
1. heroku/nodejs
2. heroku/ruby