Brand new Rails 7.0 App - "The asset "application.js" is not present in the asset pipeline."

Created a new app with

rails new my_new_app -d postgresql -c sass

Added the sass script to package.json, generated a controller and a view, created the database and ran

yarn build:css --watch & rails s (SASS was not getting compiled without the first part)

At this point, I get

Sprockets::Rails::Helper::AssetNotFound in Home#index
The asset "application.js" is not present in the asset pipeline.

on the

<%= javascript_include_tag "application", "data-turbo-track": "reload", defer: true %>

What am I missing?

3 Likes

Just run into the same problem, Not sure if its the right approach or not, but what i did to make it work was to move the javascript folder to the assets folder, then in "assets/config/manifest.js " file added this:

//= link_directory /…/javascript .js

And it worked.

2 Likes

Thanks. This helped with problem in Rails 6. Gave the clue I needed. Different path

1 Like

Hey thanks for sharing this post i was having some issues is your issue solved because i am not getting mine answer.

I had the same problem but with bootstrap and I tried your solution but I got this :

Its 2 dots before /javascript 2 dots mean folder that is one level higher than the current folder. If you are using VScode you can copy relative path by just right clicking the file whose path you want.

1 Like

like this

//= link_tree ../images
//= link_tree ../../javascript .js
//= link_tree ../../../vendor/javascript .js
//= link frontend.js
//= link frontend.css
//= link admin.css
//= link admin.js
//= link dashboard/application.css
//= link dashboard/application.js

thank you Abdullah . it worked like charm

I’m sorry folks but probably your issue is caused by your OS, where esbuild Could not resolve “app/javascript/.” when your app was building:

So, you have to navigate to root folder of your app, and run manually this instruction, but specifying the application.js like this: ./app/javascript/application.js Do not move the folder, it will allow you to work with your css, but will ignore the javascripts.

also you can modify “package.json” like this

"scripts": {
    "build": "esbuild app/javascript/application.js --bundle --sourcemap --outdir=app/assets/builds",

so then you can re- run this command

yarn run build

I’ve the same problem when i tring to start my project with: rails new project_name --css=bootstrap

I tried to reinstall ruby 3, rails 7, node, npm and npx. It didn’t solve. I’m going to try the answers below. I hope i handle it.