I am trying to setup Gitlab CI for my Ruby on Rails project, but ran into an error that I don't know how to fix.
The application is running on Ruby 2.3.1, Rails 5.0 and is using a postgreSQL database.
My current .gitlab.ci.yml file looks like this:
# Pick zero or more services to be used on all builds.
# Only needed when using a docker container to run your tests in.
# Check out: http://docs.gitlab.com/ce/ci/docker/using_docker_images.html#what-is-service
# This is a basic example for a gem or script which doesn't use
# services such as redis or postgres
- gem install bundler # Bundler is not installed with the image
- bundle install -j $(nproc) # Install dependencies
- rspec spec
- rails db:migrate
- rspec spec
$ rails db:migrate
Bundler::GemRequireError: There was an error while trying to load the gem 'uglifier'.
Backtrace for gem load error is:
/usr/local/bundle/gems/execjs-2.7.0/lib/execjs.rb:4:in `<top (required)>'
/usr/local/bundle/gems/activesupport-5.0.0.rc2/lib/active_support/dependencies.rb:293:in `block in require'
/usr/local/bundle/gems/uglifier-3.0.0/lib/uglifier.rb:5:in `<top (required)>'
sudo apt-get install nodejs
sudo yum install nodejs
If you can't install
nodejs you can use
therubyracer gem. Description from repository:
Add this lines to
gem 'therubyracer', platforms: :ruby