Самоцвет не найден ни в одном из источников при развертывании с Capistrano - PullRequest
0 голосов
/ 26 мая 2020

Я разработал веб-приложение с помощью Ruby On Rails. На моем локальном компьютере я использовал RVM для управления версиями Ruby. Я использую ruby 2.7.1 и rails 6.

Теперь я пытаюсь развернуть это приложение в капле Digital Ocean, используя это руководство: https://gorails.com/deploy/ubuntu/18.04. Я использую тот же стек, что и руководство, поэтому я использую rbenv.

Я закончил все настройки и теперь пытаюсь запустить cap production deploy. Но я получаю эту ошибку: Bundler :: GemNotFound: не удалось найти name_of_gem ни в одном из источников

Это происходит, когда capistrano работает rake db:migrate. Я попытался установить драгоценный камень вручную, но затем он показывает ту же ошибку для другого камня, и это повторяется. Похоже, capistrano не выполняет bundle install.

Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 04 июня 2020

Я видел твои шаги на горах . Как вы сказали:

На моем локальном компьютере я использовал RVM для управления версиями Ruby.

Согласно шагу Настройка Capistrano , это требует, чтобы вы включили gem 'capistrano-rbenv' на локальный компьютер. Однако есть совет в официальном репозитории rbenv :

Примечание о совместимости: rbenv несовместим с RVM. Перед установкой rbenv обязательно полностью удалите RVM и удалите все ссылки на него из файлов инициализации оболочки.

Хотя это ничего не говорит о capistrano-rbenv , оно будет также действовать как менеджер версий.

В нем сказано, что вы можете удалить свой RMV или , вы можете использовать набор команд оболочки, чтобы не находить никаких ссылок на путь RMV.

Я видел там много комментариев о проблемах с postgresql gem. Если вам нужно развернуть приложение только на онлайн-сервере, а не на том, что это за сервер, я рекомендую вам следовать известному руководству изучайте достаточно рельсов: развертывание на heroku .

Совет , вам не нужно иметь postgresql внутри вашего локального компьютера, чтобы запустить его на сервере, у вас может быть по умолчанию sqlite и postgresql на сервере. Active Record умеют управлять обоими с помощью одной команды

...