Bundle install failing with "bad interpreter"

My ruby builds just started failing during bundle install:

bundle check --path=vendor/bundle || bundle install --path=vendor/bundle --jobs=4 --retry=3 

bash: /opt/circleci/.rvm/rubies/ruby-2.5.0/bin/bundle: /home/travis/.rvm/rubies/ruby-2.5.0/bin/ruby: bad interpreter: No such file or directory
bash: /opt/circleci/.rvm/rubies/ruby-2.5.0/bin/bundle: /home/travis/.rvm/rubies/ruby-2.5.0/bin/ruby: bad interpreter: No such file or directory

bundle check --path=vendor/bundle || bundle install --path=vendor/bundle --jobs=4 --retry=3  returned exit code 126

Action failed: bundle install

My specs pass locally. This is a rails app with no circle.yml defined.

3 Likes

Same problem here : all our ruby v2.5.0 builds are failing with the same output.
Projects using v2.4.2 seams OK.

This issue has been opened 6 hours ago, any official reply from CircleCI’s team ?

Seems like they copied a script from travis and forgot to change the directory path, this solved it for me:

machine:
  post:
    - sudo ln -s /opt/circleci /home/travis

check.

1 Like

We are still having this issue, even though they said the workaround is no longer needed. When I tried the workaround it failed saying:

ln: failed to create symbolic link `/home/travis’: File exists

Anyone else still having this problem?

Looks like the fix they applied on the backend is working for me.

Upgrading to CircleCI 2.0 also seems to resolve the issue. My build times were also cut in half, which is great.

If you hadn’t been specifying a circle.yml file before, and you’re using Postgres in your Rails app, you can add the following to a file .circleci/config.yml in your repo to upgrade to CircleCI 2.0:

# Ruby CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-ruby/ for more details
#
version: 2
jobs:
  build:
    docker:
      # specify the version you desire here
      - image: circleci/ruby:2.5.0-node-browsers
        environment:
          PGHOST: 127.0.0.1
          PGUSER: my-app
          RAILS_ENV: test

      # Specify service dependencies here if necessary
      # CircleCI maintains a library of pre-built images
      # documented at https://circleci.com/docs/2.0/circleci-images/
      - image: circleci/postgres:9.6-alpine
        environment:
          POSTGRES_USER: my-app
          POSTGRES_DB: my-app_test
          POSTGRES_PASSWORD: ""

    working_directory: ~/repo

    steps:
      - checkout

      # Download and cache dependencies
      - restore_cache:
          keys:
          - v1-dependencies-{{ checksum "Gemfile.lock" }}
          # fallback to using the latest cache if no exact match is found
          - v1-dependencies-

      - run:
          name: install dependencies
          command: |
            bundle install --jobs=4 --retry=3 --path vendor/bundle

      - save_cache:
          paths:
            - ./vendor/bundle
          key: v1-dependencies-{{ checksum "Gemfile.lock" }}

      # Database setup
      - run: bundle exec rake db:create
      - run: bundle exec rake db:schema:load

      # run tests!
      - run:
          name: run tests
          command: |
            mkdir /tmp/test-results
            TEST_FILES="$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)"

            bundle exec rspec --format progress \
                            --format RspecJunitFormatter \
                            --out /tmp/test-results/rspec.xml \
                            --format progress \
                            $TEST_FILES

      # collect reports
      - store_test_results:
          path: /tmp/test-results
      - store_artifacts:
          path: /tmp/test-results
          destination: test-results

You’ll need to adjust those Postgres ENV variables to match your config/database.yml.

If anybody from CircleCI is reading this, it would be great if there was a default config file like this available for Rails apps using Postgres.

1 Like

I am still having it, yes. There’s a thread on it here:

Check this.

Installation of ruby 2.5 on Ubuntu 14.04 does not work · Issue #4291 · rvm/rvm · GitHub