Неудачная установка пакета Gem через файл Gemfile в Amazon Linux 2

#ruby-on-rails #amazon-linux-2

Вопрос:

Я работаю над миграцией нашего приложения Ruby on Rails с платформы AWS Amazon Linux 1 на платформу Amazon Linux 2.

Я создал Elastci Beanstalk, используя платформу Amazon: Ruby 2.6 и Amazon Linux 2, и выбрал приложение Amazon sample в качестве первого развернутого приложения.

После изменения скриптов Gemfile и deploment нашего приложения EB я развернул новое приложение в вышеуказанной среде.

В Gemfile, ruby, resque и resque-планировщик включены:

 ruby '2.6.8'

gem 'rails', '~> 6.1'

gem 'resque', '~> 2.0.0'

gem 'resque-scheduler', '~> 4.4.0'

...
 

После развертывания я получаю доступ к экземпляру EC2 через SSH и проверяю версию ruby on rails . Я получаю ответ ниже:

 [ec2-user@ip-10-0-2-203 ~]$ ruby -v
ruby 2.6.8p205 (2021-07-07 revision 67951) [x86_64-linux]
[ec2-user@ip-10-0-2-203 ~]$ rake --version
rake, version 12.3.3
[ec2-user@ip-10-0-2-203 ~]$ rails --version
-bash: rails: command not found
 

Похоже, рельсы неправильно установлены на платформе.

В Amazon Linux2, почему rails не может быть установлен через Gemfile во время процесса развертывания? В нашем проекте ожидается, что через Gemfile будет установлено множество зависимостей. Но, как и rails, я беспокоюсь, что некоторые из этих зависимостей больше не могут быть установлены через Gemfile.

Rails, resque и resque-планировщик автоматически устанавливаются через Gemfile при развертывании приложения на платформе Amazon Linux1, но в Amazon Linux2 все выглядит по-другому.

Можем ли мы по-прежнему использовать Gemfile для установки зависимостей в Amazon Linux 2?