Actualicé mi versión de Ruby de 2.5.x a 2.6.x (y desinstalé la versión 2.5.x). Y ahora el servidor Puma deja de funcionar al instanciar un cliente de Google Cloud Text-to-Speech:
client = Google::Cloud::TextToSpeech.text_to_speechSimplemente sale sin dar un error (en el símbolo del sistema). Y hay un mensaje de 'falla de segmentación' en la terminal 'bash'.
Archivo de configuración de Puma:
max_threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 } min_threads_count = ENV.fetch("RAILS_MIN_THREADS") { max_threads_count } threads min_threads_count, max_threads_count port ENV.fetch("PORT") { 3000 } environment ENV.fetch("RAILS_ENV") { ENV['RACK_ENV'] || "development" } pidfile ENV.fetch("PIDFILE") { "tmp/pids/server.pid" } # workers ENV.fetch("WEB_CONCURRENCY") { 2 } preload_app! plugin :tmp_restartEl método que funciona con Google Cloud Text-to-Speech:
require "google/cloud/text_to_speech" # Instantiates a client client = Google::Cloud::TextToSpeech.text_to_speech ...Archivo de gemas:
gem 'rails', '6.0.1' gem 'puma', '3.12.2' gem 'google-cloud-text_to_speech', '1.1.1' ...Sistema operativo Windows 10.
Estoy confundido. No entiendo por qué sucede y cómo solucionarlo. Intenté usar las últimas versiones de gemas para 'puma' y 'google-cloud-text_to_speech', reinstalé el SDK de Google, pero sigue sucediendo.
¿Quizás algo anda mal con mis credenciales? Obtengo el valor nil cuando ejecuto el método de configure (antes de instanciar el cliente):
(byebug) Google::Cloud::TextToSpeech.configure <Config: endpoint="texttospeech.googleapis.com" credentials=nil scope=nil lib_name=nil lib_version=nil interceptors=nil timeout=nil metadata=nil retry_policy=nil quota_project=nil>¿Puede alguien por favor ayudarme?
Intenta reinstalar ruby-debug
sudo gem uninstall ruby-debug sudo gem install ruby-debugY, ¿puede ampliar su pregunta incluyendo su Gemfile y Gemfile.lock?
Otro enfoque puede ser eliminar Gemfile.lock y luego ejecutar la instalación del paquete
rm -rf Gemfile.lock bundle installOk, he encontrado la razón de este lío.
No se trata de la actualización de la versión de Ruby. bundle update del paquete después de reinstalar Rails, y actualizó google-cloud-text_to_speech-v1 y google-cloud-text_to_speech-v1beta1 en mi archivo 'Gemfile.lock'. Y con estas versiones actualizadas tuve los errores que describí anteriormente.
Entonces, la solución es: no ejecute la actualización completa del bundle update , actualice solo los lugares exactos que necesita (en mi caso, solo tuve que ejecutar la bundle update mimemagic para tener la capacidad de iniciar el servidor Rails).