Transferring SQLite extensions with Lockfile

sqlpkg is a package manager for SQLite, like npm for JavaScript or pip for Python.

With the new 0.1.0 release, it helps to seamlessly transfer installed SQLite extensions from one machine to another.

sqlpkg stores information about the installed packages in a special file (the lockfile) — sqlpkg.lock:

.
├── .sqlpkg        <-- installed extensions
│   ├── dessus
│   │   └── fcmp
│   │       ├── fcmp.dylib
│   │       └── sqlpkg.json
│   ├── jakethaw
│   │   └── xmltojson
│   │       ├── sqlpkg.json
│   │       └── xmltojson.dylib
│   └── nalgeon
│       └── text
│           ├── sqlpkg.json
│           └── text.dylib
│
│   ... other files
│
└── sqlpkg.lock    <-- the lockfile

If you're using a local repository, it's a good idea to commit sqlpkg.lock along with other code. This way, when you check out the code on another machine, you can install all the packages at once.

To install the packages listed in the lockfile, simply run install with no arguments:

sqlpkg install
(local repository)
✓ installed package dessus/fcmp to .sqlpkg/dessus/fcmp
✓ installed package jakethaw/xmltojson to .sqlpkg/jakethaw/xmltojson
✓ installed package nalgeon/text to .sqlpkg/nalgeon/text
installed 3 packages

sqlpkg will detect the lockfile (in the current folder or the user's home folder) and install all the packages listed in it.

It even works when you are migrating between different operating systems: for example, from Windows to Linux, or from macOS to Windows. sqlpkg will automatically find, download and install the appropriate extension for your OS.

Download sqlpkg 0.1.0

 Subscribe to keep up with new posts.