HEROKU 20 - RUBY 2.7.2 / 401 未授权错误

问题描述

我在使用 ruby​​ 时遇到问题。

在我当前的项目中,ruby 的版本是 2.5.7。由于 Heroku 16 即将被弃用,我将版本更新为 2.7.2。

~ $ ruby -v
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
~ $ rails -v
Rails 5.2.4
~ $ yarn -v
1.22.4
~ $ npm -v
6.14.4
~ $ gem -v
3.1.4
~ $ bundle -v
Bundler version 2.2.11

部署后出现此错误

 [1m[36mUser Load (2.4ms)[0m  [1m[34mSELECT  "users".* FROM "users" WHERE "users"."deleted_at" IS NULL AND "users"."email" = $1 LIMIT $2[0m  [["email","admin@gmail.loc"],["LIMIT",1]]
2021-04-02T05:20:07.546331+00:00 app[web.1]:   ↳ app/controllers/sessions_controller.rb:17
2021-04-02T05:20:07.616185+00:00 app[web.1]:   [1m[36mStore Load (1.8ms)[0m  [1m[34mSELECT  "stores".* FROM "stores" WHERE "stores"."deleted_at" IS NULL AND "stores"."id" = $1 LIMIT $2[0m  [["id",4],1]]
2021-04-02T05:20:07.616410+00:00 app[web.1]:   ↳ app/controllers/sessions_controller.rb:19
2021-04-02T05:20:07.722570+00:00 app[web.1]:   [1m[36mUser Load (1.9ms)[0m  [1m[34mSELECT  "users".* FROM "users" WHERE "users"."deleted_at" IS NULL AND "users"."email" = $1 ORDER BY "users"."id" ASC LIMIT $2[0m  [["email",1]]
2021-04-02T05:20:07.722777+00:00 app[web.1]:   ↳ app/controllers/sessions_controller.rb:11
2021-04-02T05:20:07.881387+00:00 heroku[router]: at=info method=POST path="/login" host=garni-qa-4.herokuapp.com request_id=e5e9abea-4907-46c1-8808-947deabfec4f fwd="37.252.74.244" dyno=web.1 connect=1ms service=397ms status=302 bytes=746 protocol=https
2021-04-02T05:20:07.875899+00:00 app[web.1]: Completed 401 Unauthorized in 342ms (ActiveRecord: 16.0ms | MongoDB: 0.0ms)
2021-04-02T05:20:08.038364+00:00 app[web.1]: Started GET "/login" for 37.252.74.244 at 2021-04-02 05:20:08 +0000
2021-04-02T05:20:08.042413+00:00 app[web.1]: Cannot render console from 37.252.74.244! Allowed networks: 127.0.0.1,::1,127.0.0.0/127.255.255.255
2021-04-02T05:20:08.069641+00:00 app[web.1]: Processing by SessionsController#new as HTML
2021-04-02T05:20:08.073868+00:00 app[web.1]:   Rendering sessions/new.html.erb within layouts/_application
2021-04-02T05:20:08.083779+00:00 app[web.1]:   Rendered sessions/new.html.erb within layouts/_application (9.8ms)
2021-04-02T05:20:08.314009+00:00 heroku[router]: at=info method=GET path="/login" host=qa-4.herokuapp.com request_id=20cbbb7e-4438-414e-97e3-b82ad40112cb fwd="37.252.74.244" dyno=web.1 connect=1ms service=279ms status=200 bytes=21277 protocol=https
2021-04-02T05:20:08.309887+00:00 app[web.1]: Completed 200 OK in 240ms (Views: 237.2ms | ActiveRecord: 0.0ms | MongoDB: 0.0ms)

这是我的佣金路线

 new_user_session GET            /login(.:format)                                                                         sessions#new
                             user_session POST           /login(.:format)                                                                         sessions#create
                     destroy_user_session DELETE         /logout(.:format)                                                                        sessions#destroy
                        new_user_password GET            /password/new(.:format)                                                                  devise/passwords#new
                       edit_user_password GET            /password/edit(.:format)                                                                 devise/passwords#edit
                            user_password PATCH          /password(.:format)                                                                      devise/passwords#update
                                          PUT            /password(.:format)                                                                      devise/passwords#update
                                          POST           /password(.:format)                                                                      devise/passwords#create
                 cancel_user_registration GET            /register/cancel(.:format)                                                               devise/registrations#cancel
                    new_user_registration GET            /register/sign_up(.:format)                                                              devise/registrations#new
                   edit_user_registration GET            /register/edit(.:format)                                                                 devise/registrations#edit
                        user_registration PATCH          /register(.:format)                                                                      devise/registrations#update
                                          PUT            /register(.:format)                                                                      devise/registrations#update
                                          DELETE         /register(.:format)                                                                      devise/registrations#destroy
                                          POST           /register(.:format)                                                                      devise/registrations#create
                                     root GET            /                                                                                        home#index
                                 new_user GET            /new_user(.:format)             

删除包,更新 npm ,yarn,安装包

rm vendor/bundle -r
gem install bundler && gem install rails
bundle install
bundle update --ruby
2021-04-01T09:53:12.483682+00:00 heroku[router]: at=info method=GET path="/login" host=qa-3.herokuapp.com request_id=5610e1a6-b2a6-496-84e4-80f539106abf 

我认为问题出在 bcrypt/ubuntu/rails 版本中 Completed 401 Unauthorized

但是解决不了。知道我还能做什么来修复它吗?这是一个路由错误,但我找不到修复它的方法

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)