Recently I was using Capistrano (version: 3.17.3) as a deployment tool for a Rails 5.2 application, along with other legacy content, such as JQuery. During the deployment process, the asset pre-compile step returned the error:
Sprockets::FileNotFound: could not find file 'jquery/dist/jquery' with type 'application/javascript'
Investigating the issue, I discovered that Capistrano is not installing my Node dependencies with Yarn (version: 3.6.3), within the production environment during deployment, possibly due to some incompatibility with the current version of Yarn I was using.
I managed to solve the problem by placing a task in "config/deploy.rb" that forces "yarn install" to be executed:
set :stage, :production set :rails_env, 'production' namespace :deploy do desc 'Install Node.js dependencies' task :install_node_dependencies do on roles(:app) do within release_path do execute :yarn, 'install --production' end end end before 'deploy:assets:precompile', 'deploy:install_node_dependencies' end
Top comments (0)