Upgrade to 7.9.3 failed - could not precompile assets with message: 'Could not find JavasScript runtime'

When I attempted to upgrade from an earlier version of 7 to the latest 7.9.3 using the upgrade script, I received a failure message when the script was attempting to precompile the assets with a message:

    ExecJS::RuntimeUnavailable: Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.
       (in /home/git/gitlab/app/assets/javascripts/application.js.coffee)

I attempted to re-run the script, but it said everything was up-to-date.
When I ran the ‘gitlab:check’, everything passed. But when I try to point my browser to the site, I get a 500 error.
The error in the application log states:

Completed 500 Internal Server Error in 86ms
ActionView::Template::Error (Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.):
  app/views/layouts/application.html.haml:6:in `_app_views_layouts_application_html_haml__169600262__553278698'
  app/controllers/dashboard_controller.rb:11:in `show'

Suggestions on how to fix this?
Note: I think this is similar to the post, as I get the same result when attempting to sign-in. http://forum.gitlab.com/t/error-500-were-sorry-but-something-went-wrong-in-users-sign-in-page/562/1

Ralph

(Environment Ubuntu 12, Ruby 2.1.5, and git 2.1.2.)

-------- stack trace of the upgrade script failure -----------------

-> bundle exec rake assets:clean assets:precompile
I, [2015-04-09T01:12:22.669421 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/authbuttons/bitbucket_32-62d35f0d15be1613256bece7556cd47e.png
I, [2015-04-09T01:12:22.677735 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/authbuttons/bitbucket_64-cccc800d2b8759c64dfd37e0cc91babb.png
I, [2015-04-09T01:12:22.685622 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/authbuttons/github_32-8f80b7902c4b0a22367e40998f70ecac.png
I, [2015-04-09T01:12:22.691592 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/authbuttons/github_64-e11bce9b26d5fc74c3901d0b90b3e738.png
I, [2015-04-09T01:12:22.694246 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/authbuttons/gitlab_32-c1116a17717c48409fc63df1d0bf3763.png
I, [2015-04-09T01:12:22.697077 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/authbuttons/gitlab_64-df7f7345afbd4d9dabd688da3cbc480b.png
I, [2015-04-09T01:12:22.700506 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/authbuttons/google_32-14a2d47a14f23a05010046e56c83bbc0.png
I, [2015-04-09T01:12:22.703697 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/authbuttons/google_64-cf0e3eb4ad46680e4d842f9f11064cd9.png
I, [2015-04-09T01:12:22.706784 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/authbuttons/twitter_32-b52e34b8463a7bd83f999ecf17bc79c7.png
I, [2015-04-09T01:12:22.710006 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/authbuttons/twitter_64-00502eb7b8b92cad35bf9897111db75f.png
I, [2015-04-09T01:12:22.713058 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/bg-header-6654293c9981a5694da5c8bc12fc9348.png
I, [2015-04-09T01:12:22.716157 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/bg_fallback-696eadba7863f22baeab1d095aa0decf.png
I, [2015-04-09T01:12:22.719597 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/brand_logo-83a5201d76d99b08d6ee58076626a452.png
I, [2015-04-09T01:12:22.723100 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/chosen-sprite-cd8ea45b9fab540876a0c22bffd75824.png
I, [2015-04-09T01:12:22.726145 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/dark-scheme-preview-db1d59f3d00616e123ad54419ac7b33b.png
I, [2015-04-09T01:12:22.741356 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/diff_note_add-2612ba2e18b421e2025d095374dd65aa.png
I, [2015-04-09T01:12:22.745969 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/favicon-d6aa61c7c265900a7d4c45d3ac2b461f.ico
I, [2015-04-09T01:12:22.748638 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/gitorious-logo-black-48c94a358e5f47735f3e291c380445f6.png
I, [2015-04-09T01:12:22.751485 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/gitorious-logo-blue-96c891e73bbe7a99b25f01cfd6a18a55.png
I, [2015-04-09T01:12:22.754603 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/icon-link-27898e926c21156aa4dbdbb756d23f1c.png
I, [2015-04-09T01:12:22.757655 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/icon-search-9c687809297849275d45a3836f801f18.png
I, [2015-04-09T01:12:22.760530 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/icon_sprite-bc1d85aea6973bdd6c6e55294354a644.png
I, [2015-04-09T01:12:22.763463 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/images-77127109e3b8cce6bd33f7f7df911770.png
I, [2015-04-09T01:12:22.766506 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/logo-white-0b53cd4ea06811d79b3acd486384e047.png
I, [2015-04-09T01:12:22.769649 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/monokai-scheme-preview-fef16a6466f84289d7513b842d9e6c7d.png
I, [2015-04-09T01:12:22.772546 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/move-b11a372f4906b45d6bf0c36bd1fa4630.png
I, [2015-04-09T01:12:22.775565 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/no_avatar-fd406ccede8cb1881f20921c8bfa169b.png
I, [2015-04-09T01:12:22.778677 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/no_group_avatar-4ca5090e0234343b193d40a0509ad4af.png
I, [2015-04-09T01:12:22.782972 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/onion_skin_sprites-fb7f0b4bac7d68b5c67459cf7bdec26e.gif
I, [2015-04-09T01:12:22.786466 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/progress_bar-55c3bbf6e4a7233afc3d85ec086d64dc.gif
I, [2015-04-09T01:12:22.789646 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/slider_handles-27654dc156fd552582b50895d6f2c124.png
I, [2015-04-09T01:12:22.792775 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/solarized-dark-scheme-preview-9507a88c30756616f01369f47a98603d.png
I, [2015-04-09T01:12:22.795399 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/solarized-light-scheme-preview-37a35971920b6fd66a9a47a481de2fe4.png
I, [2015-04-09T01:12:22.798775 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/swipemode_sprites-3698c0d95f9bfdcf08623b7e1a69a94a.gif
I, [2015-04-09T01:12:22.801882 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/switch_icon-511aba5c7b6266dbba165777c9eab92d.png
I, [2015-04-09T01:12:22.804947 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/trans_bg-a3555e272524c4a00c47124afb9ef0fb.gif
I, [2015-04-09T01:12:22.808068 #30099]  INFO -- : Writing /home/git/gitlab/public/assets/white-scheme-preview-0d2d57afe04ebc7de64a30a97b972dfe.png
rake aborted!
ExecJS::RuntimeUnavailable: Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.
 (in /home/git/gitlab/app/assets/javascripts/application.js.coffee)
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/execjs-2.0.2/lib/execjs/runtimes.rb:51:in `autodetect'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/execjs-2.0.2/lib/execjs.rb:5:in `<module:ExecJS>'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/execjs-2.0.2/lib/execjs.rb:4:in `<top (required)>'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.9/lib/active_support/dependencies.rb:247:in `require'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.9/lib/active_support/dependencies.rb:247:in `block in require'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.9/lib/active_support/dependencies.rb:232:in `load_dependency'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.9/lib/active_support/dependencies.rb:247:in `require'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `<top (required)>'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.9/lib/active_support/dependencies.rb:247:in `require'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.9/lib/active_support/dependencies.rb:247:in `block in require'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.9/lib/active_support/dependencies.rb:232:in `load_dependency'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.9/lib/active_support/dependencies.rb:247:in `require'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/tilt-1.4.1/lib/tilt/template.rb:144:in `require_template_library'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/tilt-1.4.1/lib/tilt/coffee.rb:36:in `initialize_engine'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/tilt-1.4.1/lib/tilt/template.rb:56:in `initialize'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/context.rb:196:in `new'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/context.rb:196:in `block in evaluate'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/context.rb:194:in `each'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/context.rb:194:in `evaluate'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/processed_asset.rb:12:in `initialize'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:374:in `new'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:374:in `block in build_asset'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:395:in `circular_call_protection'
home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/bundled_asset.rb:16:in `initialize'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:377:in `new'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:377:in `build_asset'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/index.rb:94:in `block in build_asset'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/caching.rb:58:in `cache_asset'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/index.rb:93:in `build_asset'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/base.rb:287:in `find_asset'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/index.rb:61:in `find_asset'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:211:in `block in find_asset'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:257:in `benchmark'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:210:in `find_asset'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:119:in `block in compile'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:118:in `each'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:118:in `compile'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-rails-2.2.4/lib/sprockets/rails/task.rb:70:in `block (3 levels) in define'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-2.11.0/lib/rake/sprocketstask.rb:146:in `with_logger'
/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/sprockets-rails-2.2.4/lib/sprockets/rails/task.rb:69:in `block (2 levels) in define'
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)
 -> FAILED
Failed to upgrade. Try to repeat task or proceed with upgrade manually

Resolved this issue. After doing more searches on this issue, I installed node.js. Then restored my backup and re-installed 7.9.3. This time the assets precompiled successfully and everything is now working.

It might be good to place this in a pre-check to see if a javascript runtime is installed, since the install script depends on this.

Hope this helps anyone else who runs into this issue.

Ralph

2 Likes