-
-
Notifications
You must be signed in to change notification settings - Fork 836
Support for binary deployment #192
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…with 'npm install --build-from-source'
Going to merge this now to get more people testing. If anyone has comments, suggestions, or ideas for improvement please comment here. |
Support for binary deployment
Hate to comment on a closed PR but there's a number of people that are running into trouble trying to install the new blogging platform Ghost: It seems as if some of the troubles that people are encountering (including myself) it might be related to this particular set of changes. Could you please offer input? |
Hi @commadelimited - this set of changes was driven/encouraged by the ghost team and has helped ease the node-sqlite3 install by providing binaries for many systems. But its certainly not perfect. It seems like the people that are having trouble likely are running old (older than v0.10.x) node versions and therefore are not benefiting from this change (pre-built binaries). So, then a source compile is attempted and they likely lack the dependencies necessary for a successful source compile which can be seen at https://github.com/TooTallNate/node-gyp#installation. To make matters worse currently a failed source compile does not output the actual error due to this bug: #215 |
I am using A source compile fails as well. I tried to do a Update:
Update 2: |
@juristr - thanks for the report. So, you are hitting two problems. One, yes I'm missing support for proxies, which I will work to fix asap, see #219. The other is that due to #215 any errors at the node-gyp compile stage (the fallback) were not visible. This is now fixed in master, so can you try again by doing: git clone https://github.com/mapbox/node-sqlite3.git
cd node-sqlite3
npm install That should output a more helpful error and likely will indicate some missing dependency for running node-gyp. If you need help interpreting it please comment back here. |
Hi, |
This pull changes the behavior of
node-sqlite3
builds to prefer installation from pre-built binaries. Closes #67This makes it easier and faster to run
npm install sqlite3
on OS X, Linux, and Windows without any compiler being available and also even withoutpython
andnode-gyp
. When a user runsnpm install sqlite3
ornpm install
from the source checkout first a binarynode-sqlite3.node
file will be fetched, if available, from a remote repository of binaries managed by @springmeyer on s3/cloudfront. If a binary is not available that matches what the user needs then the build system will fall back to a source compile.If a developer wants a source compile instead of a binary then she can pass
--build-from-source
or--build-from-source=sqlite3
to the args passed tonpm install
ornode-gyp
.Binaries are versioned based on:
{configuration folder}/node-sqlite3-{MAJOR}.{MINOR}.{ABI}-node-v{ABI}-{platform}-{arch}
Details:
process.versions.modules
number, which is a manually incremented (by node.js core developers) version that indicates ABI breakages in node's C++ API. For older node versions (before v0.10.x) where this is not available the v8 MAJOR.MINOR version that node.js included is used insteadwin32
,linux
,darwin
Currently these are the
Release
builds available: