Sendo muito novo no Ruby / Rails, e depois de tentar resolver o problema eu mesmo neste fim de semana, estou tentando encontrar um conselho aqui.
Eu tenho uma configuração completa do Ruby / Apache / Passenger feita no FreeBSD, e estou tentando realizar a tarefa de usar o Windows como um ambiente de desenvolvimento Ruby.
Tão longe:
“> rake db: create” me diz:
Por favor, instale o adaptador sqlite3: gem install activerecord-sqlite3-adapter
(o sqlite3 não faz parte do pacote. Acrescente ao Gemfile.)
que eu não tenho “compreensão” de. Tentando instalar activerecord-sqlite3-adapter me dá um “Não foi possível encontrar uma gem válida …”
“> gem install sqlite3” retorna:
Building native extensions. This could take a while...
Building native extensions. This could take a while...
ERROR: Error installing sqlite3:
ERROR: Failed to build gem native extension.
D:/Development/Ruby200-x64/bin/ruby.exe extconf.rb
checking for sqlite3.h... *** extconf.rb failed ***
Agora estou preso no ponto em que nem sei em que estado está minha instalação do Ruby on Windows. Estou tentando seguir o tutorial principal do Rails e ele não especifica nenhum desses problemas (provavelmente porque Ruby no Windows parece ser uma dor natural para muitas pessoas.)
O que estou perdendo?!? Eu só estou tentando instalar o sqlite3 para Ruby no Windows, parece simples, certo?
Se eu fizer ">rais db"
o shell SQLite é apresentado:
SQLite version 3.7.15.2 2013-01-09 11:53:05
Perguntas similares com etapas que não resolvem meu problema: Instalando o SQLite 3.6 no Windows 7
Mesmo que a pergunta tenha sido respondida, quero postar minha pesquisa para ajudar os outros. Eu encontrei muitas informações on-line, mas sendo um novato em Ruby eu tive um tempo difícil depois de tudo. A resposta básica vem do seguinte post https://github.com/luislavena/sqlite3-ruby/issues/82 com instruções de “paulwis” sobre como instalar corretamente o sqlite3 para o ruby 2.0.0-p0 e alguns comentários sobre o https: //github.com/rails/rails/issues/10150 . Então aqui está:
Obtenha a gem sqlite3 novamente, desta vez especificando a plataforma e o caminho para os binários recém-compilados:
gem install sqlite3 --platform=ruby -- --with-sqlite3-include=[path\to\sqlite3.h] --with-sqlite3-lib=[path\to\sqlite3.o]
Por exemplo:
gem install sqlite3 --platform=ruby -- --with-sqlite3-include=/c:/dev/sqlite3/ --with-sqlite3-lib=/c:/dev/sqlite3/.libs/
(dos caminhos dados no passo 4)
Espero que isso ajude alguém.
Consegui instalar o sqlite3 com o ruby2.0.0 no win XP32 com o seguinte comando:
c:\>gem install sqlite3 --platform=ruby -- --with-sqlite3-dir=C:/distr/sqlite --with-sqlite3-include=C:/distr/sqlite
Pasta C:/distr/sqlite
contém os seguintes arquivos
Então, basicamente eu extraímos sqlite-amalgamation-3071602.zip
e sqlite-dll-win32-x86-3071602.zip
para C:/distr/sqlite
.
ATENÇÃO
Você ainda precisa colocar uma cópia do sqlite3.dll
e do sqlite3.def
algum lugar para o PATH. IMHO é melhor manter binários sqlite3 na pasta bin do ruby.
#!/usr/bin/env sh mkdir c:/sqlite3x86 wget -P c:/sqlite3x86 http://packages.openknapsack.org/sqlite/sqlite-3.7.15.2-x86-windows.tar.lzma cd c:/sqlite3x86 bsdtar --lzma -xf c:/sqlite3x86/sqlite-3.7.15.2-x86-windows.tar.lzma gem install sqlite3 --platform=ruby -- --with-opt-dir=c:/sqlite3x86 cd c:/ rm -rf c:/sqlite3x86
Pensei em colocar uma resposta – a partir dos comentários, para o bem da posteridade. O problema parecia ser que eu peguei uma nova versão do Ruby / Rails (para Windows) que não era compatível “ainda” com o SQLite3.
Eu fiz o downgrade para o 1.9.x e pude fazer coisas funcionando.
A maneira mais fácil de configurar o Ruby on Rails em uma máquina Windows é usando o RailsInstaller, que instala e configura automaticamente o sqlite3 para você. Um passo.
Para windows, vá para C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/sqlite3-1.3.13-x64-mingw32/lib/sqlite3.rb
e certifique-se
require "sqlite3"
vez de nativo
Pegue o binário gordo daqui
https://ci.appveyor.com/project/MSP-Greg/sqlite3-ruby/build/3/job/hhk6ie8gdo545svr/artifacts
e
gem install c:\path\to\downloaded_gem.gem