generator-nwjs-nodegit
v0.0.1
Published
Yeoman generator
Downloads
3
Readme
Why nwjs-nodegit?
This Yeoman generator covers the resources, steps and gotchas relating to running nodegit inside of nw.js. The focus is on build dependencies and verification and not architectural structure.
Note : This has only been tested on Mac OS.
Pre-requisites
- Node JS
- nw.js (formerly node-webkit)
- nw-gyp
- xCode
- xCode Command Line Tools
- Yeoman Tools
Quickstart Steps
After you have installed the tools above - Try these terminal commands first and see the additional information/resources below if you get stuck.
npm install -g nw-gyp
npm install -g generator-nwjs-nodegit
mkdir myTest && cd myTest && yo nwjs-nodegit
alias nw="/Applications/nwjs.app/Contents/MacOS/nwjs"
nw nwapp
If this has worked correctly, you should see a webkit instance open. You should also see console.log output showing git history comments from the sample repo included in the generator template.
Conceptual Overview
This Yeoman project template is intended to facilitate setting up a node-webkit (nw.js) project build that includes the nodegit native library.
The main difficulty arises from the fact that nodegit consists of node bindings to the native libgit2 component. This means that libgit2 must be compiled for the specific operating system and version of nw.js webkit being developed.
Additional Resources
All the information above was consolidated from the resources below.
Also, the Yeoman template includes a gulp build that includes node-webkit-builder
Common Errors
The most common error is -
Module version mismatch. Expected 14, got 43.
Stack:
Error: Module version mismatch. Expected 14, got 43.
This error arises when you are trying to run a version of libgit2 that is not compiled for your OS and version of webkit. When you npm install nodegit the install script compiles the native component. If you have not specified the correct version up front then will likely see the above error.
This issue can be corrected after the fact by recompiling nodegit libgit2 with nw-gyp. For example,
nw-gyp rebuild --target=0.12.2
You can find more detail at here
Also, note that the configuration called out here has already been included within the generator template here.
Once this configuration is set up and
License
MIT