ruby-on-rails – docker-compose Rails弹簧不起作用
发布时间:2020-12-17 01:57:01 所属栏目:百科 来源:网络整理
导读:我用 铁路4.2.5.1运行集装箱 Ruby 2.3.1运行机智容器 当我开始 $docker-compose exec web /bin/bash # ssh into the web server $bundle exec rails c 我收到以下错误. from /usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/runtime.rb:86:
我用
>铁路4.2.5.1运行集装箱 当我开始 $docker-compose exec web /bin/bash # ssh into the web server $bundle exec rails c 我收到以下错误. from /usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/runtime.rb:86:in `each' from /usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/runtime.rb:86:in `block in require' from /usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/runtime.rb:75:in `each' from /usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.13.1/lib/bundler/runtime.rb:75:in `require' from /usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.13.1/lib/bundler.rb:106:in `require' from /usr/src/app/config/application.rb:7:in `<top (required)>' from /usr/local/bundle/gems/spring-1.7.2/lib/spring/application.rb:82:in `require' from /usr/local/bundle/gems/spring-1.7.2/lib/spring/application.rb:82:in `preload' from /usr/local/bundle/gems/spring-1.7.2/lib/spring/application.rb:143:in `serve' from /usr/local/bundle/gems/spring-1.7.2/lib/spring/application.rb:131:in `block in run' from /usr/local/bundle/gems/spring-1.7.2/lib/spring/application.rb:125:in `loop' from /usr/local/bundle/gems/spring-1.7.2/lib/spring/application.rb:125:in `run' from /usr/local/bundle/gems/spring-1.7.2/lib/spring/application/boot.rb:19:in `<top (required)>' from /usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' 但是我已经把pq gem放在了Gemfile中. $bundle update pg $bundle uninstall pg && bundle install $bundle exec spring binstub --all 但是我没有运气. 我试过的时候 $docker-compose exec web /bin/bash # ssh into the web server $DISABLE_SPRING=1 bundle exec rails c 它确实有效.所以我认为spring gem无法正常工作. 我认为我的docker_compose.yml设置不正确. 泊坞窗,compose.yml web: depends_on: - 'postgres' - 'redis' build: . command: rails server -b 0.0.0.0 ports: - '3000:3000' volumes: - '.:/usr/src/app' env_file: - '.env' postgres: image: 'postgres:9.4.4' environment: POSTGRES_USER: 'postgres' ports: - '5432:5432' redis: image: 'redis:3.2-alpine' command: redis-server ports: - '6379:6379' worker: depends_on: - 'postgres' - 'redis' build: . command: bundle exec sidekiq -C config/sidekiq.yml.erb volumes: - '.:/usr/src/app' env_file: - '.env' 解决方法
通过bin / spring调用容器内的app:
$docker-compose exec web bash $bin/spring rails c 运行测试等也是如此: $bin/spring rspec 单独运行弹簧以获得一些额外提示: $bin/spring 我用Ruby 2.4.3,Rails 5.1.4和Spring 2.0.2测试了这个. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |