ruby on rails - ¿Por qué `` activos de rake: precompilación` throwing '''' getaddrinfo: nombre o servicio no conocido ''''?(re: asset_sync)
ruby-on-rails amazon-s3 (1)
Estoy intentando configurar mi aplicación de rieles para subir sus activos a AWS S3 de Amazon usando la gema asset_sync , siguiendo estas instrucciones . Sé que he configurado correctamente mi S3 porque mi aplicación puede cargar imágenes en S3. Estoy bastante seguro de que tengo todas las configuraciones correctas:
FOG_DIRECTORY => mybucketname
FOG_PROVIDER => AWS
FOG_REGION => s3-us-west-2
Sin embargo, sigo recibiendo un error:
-bash> heroku run rake assets:precompile --remote staging
Running rake assets:precompile attached to terminal... up, run.1
AssetSync: using default configuration from built-in initializer
mkdir -p /app/public/assets
...
mkdir -p /app/public/assets
AssetSync: Syncing.
rake aborted!
getaddrinfo: Name or service not known # <-- error
La compilación local produce un error ligeramente diferente:
-bash> bundle exec rake assets:precompile
AssetSync: using default configuration from built-in initializer
mkdir -p /Users/bart/Dev/MyApp/myapp/public/assets
...
mkdir -p /Users/bart/Dev/MyApp/myapp/public/assets
AssetSync: Syncing.
rake aborted!
getaddrinfo: nodename nor servname provided, or not known # <-- error
Seguí el error hasta una línea de ''conexión'' en Fog , una de las dependencias de tiempo de ejecución de asset_sync
, y resulta que mi FOG_REGION
se estableció incorrectamente . En mi caso, la región debería haber sido us-west-2
, no s3-us-west-2
.
Ha pasado un tiempo desde que configuré mi cuenta S3, así que primero traté de determinar qué región estaba usando iniciando sesión en la consola AWS S3, haciendo clic en el nombre del depósito y luego haciendo clic en "Propiedades". Allí, la región aparece como Oregon . Bueno, eso no funcionó. Entonces hice clic en el buscador de objetos y carpetas de uno de mis cubos existentes hasta que llegué a un activo, busqué sus "Propiedades" y vi el "Enlace":
https: // s3-us-west-2 .amazonaws.com / mybucketname / uploads / mymodel / image / 1135 / myimage.jpg
Estaba convencido de que s3-us-west-2
era correcto hasta que noté que Fog agrega el prefijo s3- .
De todos modos, ahora sé que una vez que averigua su región por su nombre (por ejemplo, Oregon), puede buscarla en esta lista de regiones S3 (es el nombre debajo de la columna Restricción de ubicación ).
Espero que esto ayude a alguien.