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.
★ Subscribe to keep up with new posts.