Travis CI Ruby 以 1 退出

Travis CI Ruby exited with 1

我构建了一个新的 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 给我的错误: screenshot from travis console

您在执行 rake 命令之前是否正确安装了您的 gem(使用 bundle install)?似乎在编译资产之前您需要链轮。

您显然已经使用 --skip-sprockets 参数创建了 the initial application。因此,您已禁用在您的应用程序中使用资产管道,并且已禁用对 运行 rake assets:precompile.

的需求(和可能性)

如果您确实需要资产管道(因此 rails-sprockets gem),您可以 re-enable 通过添加

gem "sprockets-rails"

到您的 Gemfile 并取消注释该行

# require "sprockets/railtie"

在您的 config/application.rb 文件中。您还需要根据需要创建资产文件。详情请参考documentation for the assets pipeline

如果您确实想跳过资产管道,只需从 .travis.yml.

中删除对 assets:precompile 任务的调用即可