У меня проблема с рубином.
В моем текущем проекте версия 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", "[email protected]"], ["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], ["LIMIT", 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", "[email protected]"], ["LIMIT", 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
Но не могу решить. Есть идеи, что еще я могу сделать, чтобы это исправить? Это ошибка маршрутизации, но я не могу найти способ ее исправить.
Да, локально я запускаю команду ./bin/webpack-dev-server, в heroku я запускаю ту же команду. но это не работает
Спасибо. Он должен быть установлен с помощью npm, может быть, с ним были какие-то проблемы, но у меня проблема с маршрутизацией рельсов. Отсутствующий файл js не вредит моей системе, когда я заполняю форму, он перенаправляется на какую-то страницу. Я не получаю никаких ошибок, только 200 успехов. Поэтому я не могу найти способ установить его в героку. В локальной версии я обновляюсь, и она работает. но в HEROKU это не сработало. Итак, мне нужно знать, может быть, для heroku мне нужно запустить что-то еще, или проблема в версиях, поэтому мне нужно их изменить? Любая идея?
удачи после чего-то вроде: devcenter.heroku.com/articles/deploying-nodejs
Я исправляю все свои ошибки js, но у меня все еще проблема с маршрутизацией.
можешь выложить свой routes.rb, а вывод своего rake routes?
Добавляю рейк-маршруты в пост. В heroku16 / 18 у меня нет проблем с логином. Сразу после обновления рубиновой версии с 2.5.5 до 2.7.2 и обновления героку до 20
Я не нашел никакого способа, поэтому просто меняю heroku 20 на heroku 18 (ubuntu 20.04 есть проблема с bcrypt, поэтому я использую ubuntu 18).





версия rails не изменилась - все еще используется Rails 5.2.4