/bin/bash -c "env RBENV_VERSION=2.6.2 /usr/local/Cellar/rbenv/1.1.2/libexec/rbenv exec ruby /Users/faiz/discenv/discourse/bin/rails server -b 0.0.0.0 -p 3000 -e development"
I, [2019-08-08T14:01:24.177008 #5867] INFO -- : Обновление списка gems
Traceback (most recent call last):
30: from /Users/faiz/discenv/discourse/bin/unicorn:49:in `<main>'
29: from /Users/faiz/discenv/discourse/bin/unicorn:49:in `load'
28: from /Users/faiz/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/unicorn-5.5.1/bin/unicorn:128:in `<top (required)>'
27: from /Users/faiz/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/unicorn-5.5.1/lib/unicorn/http_server.rb:141:in `start'
26: from /Users/faiz/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/unicorn-5.5.1/lib/unicorn/http_server.rb:794:in `build_app!'
25: from /Users/faiz/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/unicorn-5.5.1/lib/unicorn.rb:54:in `block in builder'
24: from /Users/faiz/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/unicorn-5.5.1/lib/unicorn.rb:54:in `eval'
23: from config.ru:1:in `<main>'
22: from config.ru:1:in `new'
21: from /Users/faiz/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/rack-2.0.7/lib/rack/builder.rb:55:in `initialize'
20: from /Users/faiz/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/rack-2.0.7/lib/rack/builder.rb:55:in `instance_eval'
19: from config.ru:7:in `block in <main>'
18: from config.ru:7:in `require'
17: from /Users/faiz/discenv/discourse/config/environment.rb:4:in `<top (required)>'
16: from /Users/faiz/discenv/discourse/config/environment.rb:4:in `require'
15: from /Users/faiz/discenv/discourse/config/application.rb:57:in `<top (required)>'
14: from /Users/faiz/discenv/discourse/config/application.rb:58:in `<module:Discourse>'
13: from /Users/faiz/discenv/discourse/config/application.rb:261:in `<class:Application>'
12: from lib/discourse.rb:168:in `activate_plugins!'
11: from lib/discourse.rb:168:in `each'
10: from lib/discourse.rb:171:in `block in activate_plugins!'
9: from /Users/faiz/discenv/discourse/lib/plugin/instance.rb:486:in `activate!'
8: from /Users/faiz/discenv/discourse/lib/plugin/instance.rb:486:in `instance_eval'
7: from /Users/faiz/discenv/discourse/plugins/discourse-dictionary/plugin.rb:7:in `activate!'
6: from /Users/faiz/discenv/discourse/lib/plugin/instance.rb:560:in `gem'
5: from /Users/faiz/discenv/discourse/lib/plugin_gem.rb:20:in `load'
4: from /Users/faiz/.rbenv/versions/2.6.2/lib/ruby/2.6.0/rubygems/specification.rb:1420:in `activate'
3: from /Users/faiz/.rbenv/versions/2.6.2/lib/ruby/2.6.0/rubygems/specification.rb:1438:in `activate_dependencies'
2: from /Users/faiz/.rbenv/versions/2.6.2/lib/ruby/2.6.0/rubygems/specification.rb:1438:in `each'
1: from /Users/faiz/.rbenv/versions/2.6.2/lib/ruby/2.6.0/rubygems/specification.rb:1449:in `block in activate_dependencies'
/Users/faiz/.rbenv/versions/2.6.2/lib/ruby/2.6.0/rubygems/dependency.rb:311:in `to_specs': Не удалось найти 'plissken' (~> 0.1.0) среди 285 установленных gems (Gem::MissingSpecError)
Проверено в 'GEM_PATH=/Users/faiz/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0:/Users/faiz/.gem/ruby/2.6.0', выполните `gem env` для получения дополнительной информации
Процесс завершен с кодом выхода 1
Думаю, проблема в том, что Discourse не может установить зависимость, требуемую самим gem. Как это исправить?
Обновление
Хорошо, я исправил это. Зависимость под названием plissken нужно было указать отдельно.
Почему так произошло?
Чтобы получить эти зависимости, установите Ruby 2.6.5 (текущая версия Ruby, используемая в Discourse) на свой локальный компьютер и создайте файл Gemfile с нужными вам библиотеками.
Выполните команду «bundle install» в терминале, чтобы создать файл Gemfile.lock.
В нём перечислены все библиотеки, их зависимости и номера версий.
Сделайте то, что Рафаэль указывает в файле plugin.rb.
Я не уверен, что делает параметр ‘required’, но установил его значение в true.
Привет, я знаю, что это было довольно давно, но я пытаюсь установить gem eth, и он не проходит из-за зависимости с этой ошибкой:
I, [2023-08-28T15:00:23.737246 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted!
Gem::MissingSpecError: Не удалось найти 'forwardable' (~> 1.3) среди 231 общего gem(s)
Проверено в 'GEM_PATH=/var/www/discourse/vendor/bundle/ruby/3.2.0:/var/www/discourse/plugins/discourse-radiant-member/gems/3.2.2' в: /var/www/discourse/plugins/discourse-radiant-member/gems/3.2.2/specifications/eth-0.5.11.gemspec, выполните `gem env` для получения дополнительной информации
/var/www/discourse/lib/plugin_gem.rb:25:in `load'
/var/www/discourse/lib/plugin/instance.rb:825:in `gem'
/var/www/discourse/plugins/discourse-radiant-member/plugin.rb:10:in `activate!'
/var/www/discourse/lib/plugin/instance.rb:722:in `instance_eval'
/var/www/discourse/lib/plugin/instance.rb:722:in `activate!'
/var/www/discourse/lib/discourse.rb:346:in `block in activate_plugins!'
/var/www/discourse/lib/discourse.rb:343:in `each'
/var/www/discourse/lib/discourse.rb:343:in `activate_plugins!'
/var/www/discourse/config/application.rb:218:in `block in <class:Application>'
/var/www/discourse/lib/plugin.rb:6:in `initialization_guard'
/var/www/discourse/config/application.rb:218:in `<class:Application>'
/var/www/discourse/config/application.rb:75:in `<module:Discourse>'
/var/www/discourse/config/application.rb:74:in `<top (required)>'
<internal:/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
<internal:/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
/var/www/discourse/Rakefile:7:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Причина:
Gem::MissingSpecError: Не удалось найти 'forwardable' (~> 1.3) среди 231 общего gem(s)
Проверено в 'GEM_PATH=/var/www/discourse/vendor/bundle/ruby/3.2.0:/var/www/discourse/plugins/discourse-radiant-member/gems/3.2.2', выполните `gem env` для получения дополнительной информации
/var/www/discourse/lib/plugin_gem.rb:25:in `load'
/var/www/discourse/lib/plugin/instance.rb:825:in `gem'
/var/www/discourse/plugins/discourse-radiant-member/plugin.rb:10:in `activate!'
/var/www/discourse/lib/plugin/instance.rb:722:in `instance_eval'
/var/www/discourse/lib/plugin/instance.rb:722:in `activate!'
/var/www/discourse/lib/discourse.rb:346:in `block in activate_plugins!'
/var/www/discourse/lib/discourse.rb:343:in `each'
/var/www/discourse/lib/discourse.rb:343:in `activate_plugins!'
/var/www/discourse/config/application.rb:218:in `block in <class:Application>'
/var/www/discourse/lib/plugin.rb:6:in `initialization_guard'
/var/www/discourse/config/application.rb:218:in `<class:Application>'
/var/www/discourse/config/application.rb:75:in `<module:Discourse>'
/var/www/discourse/config/application.rb:74:in `<top (required)>'
<internal:/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
<internal:/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
/var/www/discourse/Rakefile:7:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
(См. полный трассировку, запустив задачу с флагом --trace)
I, [2023-08-28T15:00:26.013232 #1] INFO -- : gem install eth -v 0.5.11 -i /var/www/discourse/plugins/discourse-radiant-member/gems/3.2.2 --no-document --ignore-dependencies --no-user-install
Успешно установлен eth-0.5.11
Установлен 1 gem
I, [2023-08-28T15:00:26.014015 #1] INFO -- : Завершение асинхронных процессов
I, [2023-08-28T15:00:26.014342 #1] INFO -- : Отправка INT в HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 42
I, [2023-08-28T15:00:26.014700 #1] INFO -- : Отправка TERM в exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 111
2023-08-28 15:00:26.015 UTC [42] LOG: получен запрос на быстрое завершение работы
111:signal-handler (1693234826) Получен SIGTERM, планирование завершения работы...
2023-08-28 15:00:26.027 UTC [42] LOG: отмена всех активных транзакций
111:M 28 Aug 2023 15:00:26.030 # Пользователь запросил завершение работы...
111:M 28 Aug 2023 15:00:26.031 * Сохранение финального снапшота RDB перед выходом.
2023-08-28 15:00:26.034 UTC [42] LOG: фоновый рабочий "logical replication launcher" (PID 51) завершился с кодом выхода 1
2023-08-28 15:00:26.035 UTC [46] LOG: завершение работы
111:M 28 Aug 2023 15:00:26.074 * БД сохранена на диск
111:M 28 Aug 2023 15:00:26.074 # Redis готов к выходу, до свидания...
2023-08-28 15:00:26.087 UTC [42] LOG: система баз данных завершена
НЕ УДАЛОСЬ
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' завершился с ошибкой с кодом возврата #<Process::Status: pid 1002 exit 1>
Место ошибки: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
Выполнение не удалось с параметрами {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
Загрузка не удалась с кодом выхода 1
** НЕ УДАЛОСЬ ЗАГРУЗИТЬСЯ ** пожалуйста, прокрутите вверх и поищите более ранние сообщения об ошибках, их может быть больше одной.
./discourse-doctor может помочь диагностировать проблему.
32dfbed48cf5bbb8f9a2d25b0d75388e296cd78ce7f56d37fb7a59c543888ad1
Я добавил зависимость forwardable, а также несколько других на всякий случай (взял их из моего Gemfile.lock), но мое приложение просто не может пересобраться без этой ошибки. Есть какие-то идеи?