When building an addon against a version of Node.js compiled from source, the following steps are necessary:
export npm_config_nodedir=<absolute path to the Node.js repo root>
export PATH=${npm_config_nodedir}:${PATH}
alias npm=${npm_config_nodedir}/deps/npm/bin/npm-cli.js
After these steps, it is possible to run npm install, npm test, etc., and the headers used for compilation and the node binary used for execution will be the ones residing at ${npm_config_nodedir}.
It is not possible to use the node-chakracore repo root in such a way because of the followings:
out/common.gypi is not created. This can be solved with ln -s ../common.gypi out from the node-chakracore repo root.
For some reason, the following directories are added to the include search path (/home/nix/node/node-chakracore is the repo root):
The directory out should not be part of the path, unless the required directories really are copied/linked to those paths. ln -s ../src out fixes this problem for the Node.js headers.
When building an addon against a version of Node.js compiled from source, the following steps are necessary:
After these steps, it is possible to run
npm install
,npm test
, etc., and the headers used for compilation and the node binary used for execution will be the ones residing at${npm_config_nodedir}
.It is not possible to use the node-chakracore repo root in such a way because of the followings:
out/common.gypi
is not created. This can be solved withln -s ../common.gypi out
from the node-chakracore repo root./home/nix/node/node-chakracore
is the repo root):The directory
out
should not be part of the path, unless the required directories really are copied/linked to those paths.ln -s ../src out
fixes this problem for the Node.js headers.