My rails application use Sqlite3 database. I have this goal. To run my
rails application, user (with Linux and Windows 32 bit) only need to
install Ruby. So I freeze rails (rake rails:freeze:gems). I unpack
sqlite3-ruby gems (gem unpack sqlite3-ruby). I download binary sqlite3
library (sqlite3-Linux-x86.so, sqlite3-Windows-x86.dll).
The question is where I put the library stuff in my rails application
directory.
My rails application use Sqlite3 database. I have this goal. To run my
rails application, user (with Linux and Windows 32 bit) only need to
install Ruby. So I freeze rails (rake rails:freeze:gems). I unpack
sqlite3-ruby gems (gem unpack sqlite3-ruby). I download binary sqlite3
library (sqlite3-Linux-x86.so, sqlite3-Windows-x86.dll).
The short answer: unpack the gems into vendor and use the gems [1]
plugin.
The long answer: unpack the gems into vendor and use the gems [1]
plugin, but know that your Linux deployment will not be as ubiquitous as
your Windows deployment.
Any Linux box you want to deploy to needs to match the Linux box you
compiled the .so on for any library dependency. (Use ldd to find out
which.) If some Linux server is running a different greater version of
glibc or sqlite3, then you’ll be out of luck.
In all, I’d recommend against what you’re trying to accomplish and
perhaps use deprec instead to set up the proper dependencies on the
target system.