Recibo el siguiente error al intentar ejecutar cap production deploy
.
DEBUG [dc362284] Bundler::GemNotFound: Could not find json-1.8.1.gem for installation
DEBUG [dc362284] An error occurred while installing json (1.8.1), and Bundler cannot continue.
DEBUG [dc362284] Make sure that `gem install json -v '1.8.1'` succeeds before bundling.
Puede ser importante tener en cuenta que esta implementación estaba funcionando, entonces actualicé a Ruby 2.1.0 para eliminar un error de codificación. Actualicé localmente que funcionó bien. Ejecuté rvm install 2.1.0
y rvm use 2.1.0
luego cambié mi .ruby-version
archivo para reflejar esta actualización de Ruby.
El bundle install
comando funciona localmente, pero produce el mismo error anterior cuando me dirijo al servidor de destino y ejecuto este comando.
Si corro gem list
, puedo ver esto en la lista de gemas.
...
jquery-rails (3.0.4)
json (1.8.1)
less (2.3.2)
...
Si pruebo la solución recomendada gem install json -v '1.8.1'
localmente y en el servidor de destino, obtengo el siguiente resultado:
Building native extensions. This could take a while...
Successfully installed json-1.8.1
Parsing documentation for json-1.8.1
Done installing documentation for json after 0 seconds
1 gem installed
Entonces parece que la gema está instalada, ¿verdad? ¿Por qué está pasando esto? ¿Como puedo resolver esto? Cualquier ayuda será muy apreciada.
fuente
bundle show json
te da?gem json, '1.8.1'
a Gemfilesudo apt-get install ruby-dev
en mi Ubuntu.Respuestas:
$ bundle update json $ bundle install
fuente
Entonces, después de medio día en esto y casi inmediatamente después de publicar mi pregunta, encontré la respuesta. Bundler 1.5.0 tiene un error en el que no reconoce las gemas predeterminadas como se hace referencia aquí
La solución fue actualizar al paquete 1.5.1 usando
gem install bundler -v '= 1.5.1'
fuente
gem install json -v '1.8.1'
actualización después de la actualización solucionó el mensaje de error para mí.gem install json -v '1.8.1'
seguido debundle package
hizo el truco para míEjecute este comando, entonces todo estará bien
sudo apt-get install libgmp-dev
fuente
si está en MacOS Sierra y su versión de ruby es 2.4.0. La versión de ruby no es compatible con json 1.8.3.
Puede intentar agregar esta línea en su Gemfile:
gem 'json', github: 'flori/json', branch: 'v1.8'
¡Esto funciona para mí!
fuente
Para resolver este problema, simplemente ejecute:
bundle update
Actualizará la versión de su paquete. Entonces corre:
bundle install
Tu problema se resolverá. La solución está bien explicada aquí .
fuente
bundle update
, la instalación funcionó muy bien. Gracias por la solución limpia.bundle update
actualizará todas tus gemas.gem update bundler
actualizará el paquete.Encontré la solución aquí . Hay un problema con la versión 1.8.1 de json y con ruby 2.2.3, así que instale la versión 1.8.3 de json.
gem install json -v1.8.3
fuente
Gemfile.lock
y luego simplemente ejecutobundle install
y eso es todo.Deberías intentarlo
$ sudo gem install json -v '1.8.2'
en mi caso (Ubuntu 14.04) eso no funcionó directamente y tuve que hacer esto:
$ sudo apt-get install ruby-dev
y luego podría instalar la gema y continuar. Tuve un problema más que fue solucionado por:
$ sudo apt-get install libsqlite3-dev
La esperanza ayuda.
fuente
Si la respuesta recomendada no ayudó porque ya está utilizando una versión más reciente de bundler. Prueba la solución que funcionó para mí.
Elimine todo dentro de la carpeta de su proveedor. Agrega una línea a tu archivo de gemas
gem 'json', '1.8.0'
Entonces corre -
bundle update json
.Parece ser un problema con 1.8.1, así que volver a 1.8.0 funcionó para mí.
fuente
gem 'json', '1.8.6'
funcionó para mí. Es posible que desee probar eso.Me encontré con este error mientras intentaba que un proyecto se ejecutara en mi caja de desarrollo local (OSX 10.6), usando Sinatra y Postgresql (a través de activerecord), ejecutándose en un rvm'd ruby 2.1. Encontré mi respuesta aquí: https://github.com/wayneeseguin/rvm/issues/2511
Mi problema exacto (después del primer bloque de entradas de registro):
La respuesta :
La explicacion :
En aras de la integridad, primero me había olvidado de actualizar rvm (
rvm get head
), lo que produjo algunos otros errores, pero aún necesitaba la--disable-binary
bandera una vez que lo había hecho.fuente
rvm list
y verás cuál es tu versión actual. Utilice la cadena completa (por ejemplo, ruby-2.0.0-p451) en lugar de la2.1.0
mencionada anteriormente.bundle update json
. Ayudó a pasar.fuente
Cuando intenté instalar la gema json usando
gem install json
separado de solo usarbundle install
I gotERROR: Failed to build gem native extension.
, buscando eso encontré usandoapt-get install ruby-dev
Hizo el truco
fuente
Para OS X, asegúrese de tener coreutils
fuente
Esto parece ser un error en Bundler que no reconoce las gemas predeterminadas instaladas junto con ruby 2.x. Seguí experimentando el problema incluso con la última versión del paquete (1.5.3).
Una solución es simplemente eliminar json-1.8.1.gemspec del directorio predeterminado de gemspec.
rm ~/.rubies/ruby-2.1.0/lib/ruby/gems/2.1.0/specifications/default/json-1.8.1.gemspec
Después de hacer esto, el agrupador no debería tener problemas para localizar la gema. Tenga en cuenta que estoy usando chruby. Si está utilizando otro administrador de ruby, deberá actualizar su ruta en consecuencia.
fuente
Me faltaba la solución de encabezados C para descargarlo para Xcode, esta es la mejor manera.
xcode-select --install
Espero eso ayude.
fuente
El paquete no podía instalar json -v '1.8.1' y eliminar mi Gemfile.lock y ejecutar el paquete nuevamente resolvió este problema para mí.
fuente
Instalé la última versión de json:
gem install json
Luego eliminó la línea json (1.8.1) del Gemfile.lock e hizo un
bundle install
Y luego el archivo Gemfile.lock usa json (1.8.3) sin errores
fuente
Cambiar la versión de ruby de 1.9 a 2.2 con rvm hizo el trabajo por mí
fuente
Para mí, algunas de las respuestas mencionadas anteriormente fueron útiles desde el punto de vista de la comprensión, pero no resolvieron mi problema.
Entonces esto es lo que hice para resolver el problema.
Bundler -v
comando). Tenía instalada la versión 1.12.5gem install bundler -v '1.11.2'
)fuente
Para macOS Sierra:
Me encontré con este error cuando usé bundler (
v1.15.3
) en elv4.2
proyecto Rails ( ). La solución para mí esgem uninstall bundler -v '1.15.3'
ygem install bundler -v '1.14.6'
.fuente