This article shows the Tailwind 4 upgrade of the tailwindcss-rails gem.


Upgrades

  1. Pointing to the correct tailwind in the Gemfile

    gem 'tailwindcss-rails', "~> 4.0"
    
  2. If you have previously pinned to a tailwindcss-ruby version, please remove it

    # gem "tailwindcss-ruby", "~> 3.4"
    
  3. In your application.tailwind.css, replace the @tailwind directive

    @tailwind base;
    @tailwind components;
    @tailwind utilities;
    
  4. Replace them with:

    @import 'tailwindcss';
    
  5. In your tailwind.config.js, removes the default plugins:

    require('@tailwindcss/forms'),
    require('@tailwindcss/typography'),
    require('@tailwindcss/container-queries'),
    
  6. If you are using these or other additional plugins, please ensure you import them via a package manager.

  7. Bundle install/upgrade

  8. Run the upgrade utility.

    rails tailwindcss:upgrade
    

After this step, your tailwind.config.js will be removed, and your application.tailwind.css will be moved to tailwind/application.css


Tuning

  1. The behavior of the class scanner has changed for ERB.

    <!-- in v3, both bg-sky-100 and bg-sky-200 will be picked up. But in v4, only the former will be picked up. -->
    <div class="<% if something %>bg-sky-100<% else %>bg-sky-200<% end %> px-3 py-1">test</div>
    

    You could fix this by @apply. For example:

    .category {
        @apply bg-sky-100 px-3 px-1;
    }
    
    .category.active {
        @apply bg-sky-200 px-3 px-1;
    }
    

    Then:

    <div class="category <% if something %>active<% end %>">test</div>
    
  2. Deprecated classes:

    <!-- v3 -->
    <div class="bg-black bg-opacity-50"></div>
    
    <!-- v4 -->
    <div class="bg-black/50"></div>
    

    Ref: https://tailwindcss.com/docs/upgrade-guide#removed-deprecated-utilities

  3. Renamed classes:

    <!-- v3 -->
    <div class="rounded"></div>
    
    <!-- v4 -->
    <div class="rounded-sm"></div>
    

    Ref: https://tailwindcss.com/docs/upgrade-guide#renamed-utilities


Full guides

  1. The tailwindcss-rails gem

  2. Tailwind official