lux*_*lux 5 ruby ruby-on-rails github ruby-on-rails-3 github-actions
我正在尝试实现 Github Actions,但无法运行 Rails 命令。
运行时bundle exec rake或bundle exec rails db:create在 github 工作流程中引发错误。
Run bundle exec rake rails db:setup
bundle exec rake rails db:setup
shell: /bin/bash -e {0}
env:
PATH: /home/runner/.rubies/ruby-2.6.5/bin:/usr/share/rust/.cargo/bin:/home/runner/.config/composer/vendor/bin:/home/runner/.dotnet/tools:/snap/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin
RAILS_ENV: test
POSTGRES_HOST: localhost
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_PORT: 5432
RUBYOPT: -W:no-deprecated -W:no-experimental
/home/runner/.rubies/ruby-2.6.5/bin/ruby: invalid option -: (-h will show valid options) (RuntimeError)
##[error]Process completed with exit code 1.
Run Code Online (Sandbox Code Playgroud)
这是我的 ruby.yml 文件:
name: Ruby
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
test:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:11
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
ports:
- "5432:5432"
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- uses: actions/checkout@v2
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6.5
- name: Install library for postgres
run: sudo apt-get install libpq-dev
- name: Install dependencies
run: bundle install
- name: Setup Database
run: bundle exec rake rails db:setup
env:
RAILS_ENV: test
POSTGRES_HOST: localhost
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_PORT: 5432
RUBYOPT: "-W:no-deprecated -W:no-experimental"
- name: Run tests
env:
RAILS_ENV: test
POSTGRES_HOST: localhost
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_PORT: 5432
RUBYOPT: "-W:no-deprecated -W:no-experimental"
run: bundle exec rake
- name: Ensure that assets compile correctly
run: bundle exec rails assets:precompile
Run Code Online (Sandbox Code Playgroud)
谢谢大家!
RUBYOPT='-W:no-deprecated不适用于 Ruby 版本 <2.7。
改变
ruby-version: 2.6.5
Run Code Online (Sandbox Code Playgroud)
到
ruby-version: 2.7.0
Run Code Online (Sandbox Code Playgroud)