#ruby-on-rails #ruby #travis-ci
#ruby-on-rails #ruby #travis-ci
Вопрос:
Я создал новое приложение rails, и когда я настроил .travis.yml-файл, из которого он постоянно выходит. Вот моя конфигурация travis:
language: ruby
node_js:
- 12
cache:
bundler: true
yarn: true
services:
- redis-server
sudo: required
before_install:
- sudo apt-get update
- sudo apt-get install google-chrome-stable
addons:
postgresql: '9.6'
before_script:
- psql -c 'create database product_hunt_clone_test;' -U postgres
script:
- bundle install
- bundle exec rake db:schema:load
- bundle exec rake db:test:prepare
- SECRET_KEY_BASE=a RAILS_ENV=production bundle exec rake assets:precompile
- bundle exec rake test
- bundle exec rake test:system
и вот ошибки, которые выдает мне Трэвис:
скриншот из консоли travis
Ответ №1:
По-видимому, вы должны создать исходное приложение с использованием --skip-sprockets
параметра. Таким образом, вы должны отключить использование конвейера ресурсов в своем приложении и при этом отключить необходимость (и возможность) запуска rake assets:precompile
.
Если вам действительно нужен конвейер активов (и, следовательно rails-sprockets
, драгоценный камень), вы можете повторно включить его, добавив
gem "sprockets-rails"
к вашему Gemfile
и раскомментировала строку
# require "sprockets/railtie"
в вашем config/application.rb
файле. Вам также необходимо будет создать файлы ресурсов по мере необходимости. Пожалуйста, обратитесь к документации для конвейера активов для получения подробной информации.
Если вы действительно хотите пропустить конвейер ресурсов, вы можете просто удалить вызов assets:precompile
задачи из своего .travis.yml
.
Ответ №2:
Правильно ли вы устанавливаете свои драгоценные камни (с bundle install
) перед выполнением ваших команд рейка? Похоже, вам понадобятся звездочки перед компиляцией ресурсов.
Комментарии:
1. Я запустил bundle install перед внесением изменений, но он по-прежнему выдает ту же ошибку. Как бы я использовал звездочки?
2. Вы запускали установку пакета локально или на сервере TravisCI? Попробуйте добавить
- bundle install
прямо подscript
3. Я запустил локальную установку пакета. Он по-прежнему выдает мне ту же ошибку после добавления
- bundle install