Sprockets is not picking up app/assets/builds folder Rails 7
Asked Answered
W

1

5

I just set an empty Rails 7.0.1 project and add Docker file to it, when the command rake assets:precompile run it's not including the files inside the app/assets/builds folder.

Does anyone have an idea what I'm doing wrong?

app/assets/config/manifest.js

//= link_tree ../images
//= link_tree ../builds

app/assets/config/manifest.js

FROM ruby:3.0.3-slim-bullseye AS assets

WORKDIR /app

RUN bash -c "set -o pipefail && apt-get update \
  && apt-get install -y --no-install-recommends build-essential curl git libpq-dev libsqlite3-dev \
  && curl -sSL https://deb.nodesource.com/setup_16.x | bash - \
  && curl -sSL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
  && echo 'deb https://dl.yarnpkg.com/debian/ stable main' | tee /etc/apt/sources.list.d/yarn.list \
  && apt-get update && apt-get install -y --no-install-recommends nodejs yarn default-jre \
  && rm -rf /var/lib/apt/lists/* /usr/share/doc /usr/share/man \
  && apt-get clean \
  && useradd --create-home ruby \
  && mkdir /node_modules && chown ruby:ruby -R /node_modules /app"

USER ruby

COPY --chown=ruby:ruby Gemfile* ./
RUN bundle install --jobs "$(nproc)"

COPY --chown=ruby:ruby package.json *yarn* ./
RUN yarn install

ARG RAILS_ENV
ARG SECRET_KEY_BASE

ENV NODE_ENV="production" \
    PATH="${PATH}:/home/ruby/.local/bin:/node_modules/.bin" \
    USER="ruby"

COPY --chown=ruby:ruby . .

RUN ./bin/rails assets:precompile

** output **

2022-01-23T22:45:25.0500519Z Step 13/25 : RUN ./bin/rails assets:precompile
2022-01-23T22:45:25.0830843Z  ---> Running in 86e1ba81ff19
2022-01-23T22:45:27.9626041Z yarn install v1.22.17
2022-01-23T22:45:28.0174765Z [1/4] Resolving packages...
2022-01-23T22:45:28.0971605Z [2/4] Fetching packages...
2022-01-23T22:45:28.2027589Z [3/4] Linking dependencies...
2022-01-23T22:45:28.4713925Z [4/4] Building fresh packages...
2022-01-23T22:45:28.4825170Z Done in 0.53s.
2022-01-23T22:45:28.6600447Z yarn run v1.22.17
2022-01-23T22:45:28.6976576Z $ esbuild app/javascript/*.* --bundle --sourcemap --outdir=app/assets/builds
2022-01-23T22:45:28.7818982Z [91m
2022-01-23T22:45:28.7819369Z   app/assets/builds/application.js      188.1kb
2022-01-23T22:45:28.7819727Z   app/assets/builds/application.js.map  304.3kb
2022-01-23T22:45:28.7819884Z 
2022-01-23T22:45:28.7866507Z [0mDone in 0.13s.
2022-01-23T22:45:28.9660332Z yarn install v1.22.17
2022-01-23T22:45:29.0253735Z [1/4] Resolving packages...
2022-01-23T22:45:29.1031076Z success Already up-to-date.
2022-01-23T22:45:29.1091794Z Done in 0.15s.
2022-01-23T22:45:29.2882888Z yarn run v1.22.17
2022-01-23T22:45:29.3324733Z $ tailwindcss -i ./app/assets/stylesheets/application.tailwind.css -o ./app/assets/builds/application.css
2022-01-23T22:45:30.1221872Z [91m
2022-01-23T22:45:30.1227288Z [0m[91mDone in 185ms.
2022-01-23T22:45:30.1365454Z [0mDone in 0.85s.
2022-01-23T22:45:37.4026537Z [91mI, [2022-01-23T22:45:37.401686 #7]  INFO -- : Writing /app/public/assets/manifest-04024382391bb910584145d8113cf35ef376b55d125bb4516cebeb14ce788597.js
2022-01-23T22:45:37.4028911Z [0m[91mI, [2022-01-23T22:45:37.401956 #7]  INFO -- : Writing /app/public/assets/manifest-04024382391bb910584145d8113cf35ef376b55d125bb4516cebeb14ce788597.js.gz
2022-01-23T22:45:37.4030004Z I, [2022-01-23T22:45:37.402127 #7]  INFO -- : Writing /app/public/assets/turbo-568d8de4433dcde538b73d3315800ba326315d7ba9b56c15327824ab6ed16884.js
2022-01-23T22:45:37.4031350Z I, [2022-01-23T22:45:37.402209 #7]  INFO -- : Writing /app/public/assets/turbo-568d8de4433dcde538b73d3315800ba326315d7ba9b56c15327824ab6ed16884.js.gz
2022-01-23T22:45:37.4038099Z [0m[91mI, [2022-01-23T22:45:37.402307 #7]  INFO -- : Writing /app/public/assets/turbo.min.js-2e71e75cec6429b11d9575a009df6f148e9c52fbae30baf2292ec44620163b6f.map
2022-01-23T22:45:37.4052327Z [0m[91mI, [2022-01-23T22:45:37.404423 #7]  INFO -- : Writing /app/public/assets/turbo.min-6124000e16e2a773750df63ac018d8cc0425994af2e997a75846a45f2d9f800f.js
2022-01-23T22:45:37.4053471Z [0m[91mI, [2022-01-23T22:45:37.404672 #7]  INFO -- : Writing /app/public/assets/turbo.min-6124000e16e2a773750df63ac018d8cc0425994af2e997a75846a45f2d9f800f.js.gz
2022-01-23T22:45:37.4126829Z [0m[91mI, [2022-01-23T22:45:37.411887 #7]  INFO -- : Writing /app/public/assets/activestorage.esm-39b0e74b44e13cff0d2d1a23387629fab136f585c88cb628e38ba66b72c9c2f7.js
2022-01-23T22:45:37.4129836Z [0m[91mI, [2022-01-23T22:45:37.412286 #7]  INFO -- : Writing /app/public/assets/activestorage.esm-39b0e74b44e13cff0d2d1a23387629fab136f585c88cb628e38ba66b72c9c2f7.js.gz
2022-01-23T22:45:37.4132792Z [0m[91mI, [2022-01-23T22:45:37.412640 #7]  INFO -- : Writing /app/public/assets/activestorage-3673dd642f37129898313c07fcbf2607d11b2cbaf3509e815cbaf84bb1d146f3.js
2022-01-23T22:45:37.4134021Z [0m[91mI, [2022-01-23T22:45:37.412943 #7]  INFO -- : Writing /app/public/assets/activestorage-3673dd642f37129898313c07fcbf2607d11b2cbaf3509e815cbaf84bb1d146f3.js.gz
2022-01-23T22:45:37.4136828Z [0m[91mI, [2022-01-23T22:45:37.413281 #7]  INFO -- : Writing /app/public/assets/actiontext-7ad159e2b221bb86f7ce063624d6899446d954e0336febb4f07a146d21810095.js
2022-01-23T22:45:37.4140030Z [0m[91mI, [2022-01-23T22:45:37.413578 #7]  INFO -- : Writing /app/public/assets/actiontext-7ad159e2b221bb86f7ce063624d6899446d954e0336febb4f07a146d21810095.js.gz
2022-01-23T22:45:37.4145340Z [0m[91mI, [2022-01-23T22:45:37.413906 #7]  INFO -- : Writing /app/public/assets/trix-6fd35bb8fae1d6a795115763ca265369b9750f73a1c6283a0b0ef4b6c2d550c8.css
2022-01-23T22:45:37.4146594Z [0m[91mI, [2022-01-23T22:45:37.414196 #7]  INFO -- : Writing /app/public/assets/trix-6fd35bb8fae1d6a795115763ca265369b9750f73a1c6283a0b0ef4b6c2d550c8.css.gz
2022-01-23T22:45:37.4149442Z [0m[91mI, [2022-01-23T22:45:37.414545 #7]  INFO -- : Writing /app/public/assets/stimulus-8088f1ad4acbb3f63d6f5d901115827ea6afcbce2e457211ef4cbad61a30bbd5.js
2022-01-23T22:45:37.4152276Z [0m[91mI, [2022-01-23T22:45:37.414841 #7]  INFO -- : Writing /app/public/assets/stimulus-8088f1ad4acbb3f63d6f5d901115827ea6afcbce2e457211ef4cbad61a30bbd5.js.gz
2022-01-23T22:45:37.4166858Z [0m[91mI, [2022-01-23T22:45:37.415163 #7]  INFO -- : Writing /app/public/assets/stimulus-autoloader-7baf25834ba7e290241a8478939900318e18c2eae730b2827e8c1e3d14ac3b91.js
2022-01-23T22:45:37.4170174Z [0m[91mI, [2022-01-23T22:45:37.415459 #7]  INFO -- : Writing /app/public/assets/stimulus-autoloader-7baf25834ba7e290241a8478939900318e18c2eae730b2827e8c1e3d14ac3b91.js.gz
2022-01-23T22:45:37.4173172Z [0m[91mI, [2022-01-23T22:45:37.415779 #7]  INFO -- : Writing /app/public/assets/stimulus-importmap-autoloader-d932fb7d87bf9b1635447fd97ff64b0ebfc95767b00ca21bb93b7a77d4db3c6e.js
2022-01-23T22:45:37.4174427Z [0m[91mI, [2022-01-23T22:45:37.416195 #7]  INFO -- : Writing /app/public/assets/stimulus-importmap-autoloader-d932fb7d87bf9b1635447fd97ff64b0ebfc95767b00ca21bb93b7a77d4db3c6e.js.gz
2022-01-23T22:45:37.4177246Z [0m[91mI, [2022-01-23T22:45:37.416664 #7]  INFO -- : Writing /app/public/assets/stimulus-loading-4fe65617eba53d49c46ab6022776f5959fce7c724c0b05aed33d7857083fad0f.js
2022-01-23T22:45:37.4180046Z [0m[91mI, [2022-01-23T22:45:37.416982 #7]  INFO -- : Writing /app/public/assets/stimulus-loading-4fe65617eba53d49c46ab6022776f5959fce7c724c0b05aed33d7857083fad0f.js.gz
2022-01-23T22:45:37.4182803Z [0m[91mI, [2022-01-23T22:45:37.417313 #7]  INFO -- : Writing /app/public/assets/stimulus.min-16f5ff27fc00daf8243ccbcd3e9936fbd1cbd18a62e565437978640d43cfa9d2.js
2022-01-23T22:45:37.4186368Z [0m[91mI, [2022-01-23T22:45:37.417604 #7]  INFO -- : Writing /app/public/assets/stimulus.min-16f5ff27fc00daf8243ccbcd3e9936fbd1cbd18a62e565437978640d43cfa9d2.js.gz
2022-01-23T22:45:37.4189141Z [0m[91mI, [2022-01-23T22:45:37.417925 #7]  INFO -- : Writing /app/public/assets/stimulus-autoloader-7baf25834ba7e290241a8478939900318e18c2eae730b2827e8c1e3d14ac3b91.js
2022-01-23T22:45:37.4192142Z [0m[91mI, [2022-01-23T22:45:37.418215 #7]  INFO -- : Writing /app/public/assets/stimulus-autoloader-7baf25834ba7e290241a8478939900318e18c2eae730b2827e8c1e3d14ac3b91.js.gz
2022-01-23T22:45:37.4218864Z [0m[91mI, [2022-01-23T22:45:37.418569 #7]  INFO -- : Writing /app/public/assets/stimulus-importmap-autoloader-d932fb7d87bf9b1635447fd97ff64b0ebfc95767b00ca21bb93b7a77d4db3c6e.js
2022-01-23T22:45:37.4226461Z [0m[91mI, [2022-01-23T22:45:37.418855 #7]  INFO -- : Writing /app/public/assets/stimulus-importmap-autoloader-d932fb7d87bf9b1635447fd97ff64b0ebfc95767b00ca21bb93b7a77d4db3c6e.js.gz
2022-01-23T22:45:37.4227903Z [0m[91mI, [2022-01-23T22:45:37.419172 #7]  INFO -- : Writing /app/public/assets/stimulus-loading-4fe65617eba53d49c46ab6022776f5959fce7c724c0b05aed33d7857083fad0f.js
2022-01-23T22:45:37.4229022Z [0m[91mI, [2022-01-23T22:45:37.419453 #7]  INFO -- : Writing /app/public/assets/stimulus-loading-4fe65617eba53d49c46ab6022776f5959fce7c724c0b05aed33d7857083fad0f.js.gz
2022-01-23T22:45:37.4230096Z [0m[91mI, [2022-01-23T22:45:37.419775 #7]  INFO -- : Writing /app/public/assets/stimulus.min.js-5cdf38f474c7d64a568a43e5de78b4313515aa0e4bd3d13fac297fffeba809f0.map
2022-01-23T22:45:37.4231149Z [0m[91mI, [2022-01-23T22:45:37.420308 #7]  INFO -- : Writing /app/public/assets/trix-4919b0f3b3816020c1bc96560dd25f236a529da10c6a9a667cec125e2287e34e.js
2022-01-23T22:45:37.4232350Z [0m[91mI, [2022-01-23T22:45:37.420627 #7]  INFO -- : Writing /app/public/assets/trix-4919b0f3b3816020c1bc96560dd25f236a529da10c6a9a667cec125e2287e34e.js.gz
2022-01-23T22:45:37.4233388Z [0m[91mI, [2022-01-23T22:45:37.420954 #7]  INFO -- : Writing /app/public/assets/actioncable-77b90bebc5862799354f416cee992fd4f5bc5e34445b0965e4880626d1e5571d.js
2022-01-23T22:45:37.4234467Z [0m[91mI, [2022-01-23T22:45:37.421244 #7]  INFO -- : Writing /app/public/assets/actioncable-77b90bebc5862799354f416cee992fd4f5bc5e34445b0965e4880626d1e5571d.js.gz
2022-01-23T22:45:37.4235528Z [0m[91mI, [2022-01-23T22:45:37.421562 #7]  INFO -- : Writing /app/public/assets/actioncable.esm-75f01a77b538dec1e0bc91589881d710d8db3f1a5531c4a9c5d31563bddbf257.js
2022-01-23T22:45:37.4236663Z [0m[91mI, [2022-01-23T22:45:37.421850 #7]  INFO -- : Writing /app/public/assets/actioncable.esm-75f01a77b538dec1e0bc91589881d710d8db3f1a5531c4a9c5d31563bddbf257.js.gz
2022-01-23T22:45:39.4552910Z [0mRemoving intermediate container 86e1ba81ff19

PS: I'm using production env and also running rake assets:precompile locally include the content of the builds folder fine.

Windhoek answered 23/1, 2022 at 23:15 Comment(0)
V
13

I faced this issue when deploying with Capistrano and fixed it by adding a .keep file to app/assets/builds and committed the empty directory to git which happened to be missing in the repo. This ensured that the builds directory existed for the target release when rake assets:precompile ran. Then the esbuild/webpack compiled assets got picked up by sprockets and where copied over to public/assets.

Vermis answered 16/2, 2022 at 12:45 Comment(3)
Unbelievable that this is the fix. But I'm grateful you shared your solution.Stockist
Unbelievable indeed. I've spent 5hrs trying to fix this. I remembered deleting the builds folder at some point. Many thanksMoller
I also just ran into this issue while migrating to Rails 7 and esbuild from webpacker. It kept erroring with The asset "application.css" is not present in the asset pipeline. This was the fix. Not sure why it works but after this change sprockets started correctly generating the manifest.js, application.css and application.js! Thank you!Sedberry

© 2022 - 2024 — McMap. All rights reserved.