I was trying to install this package called brain.js. I requires you have Python 3.7 or later and XCode. I have both install. When I'm trying to npm i brain.js. It throws the following error.
It says on their documentation Brain.js depends on a native module headless-gl for gpu support. In most cases installing brain.js from npm should just work. However, if you run into problems, this mean prebuilt binaries are not able to download from github repositories and you might need to build it yourself.
npm ERR! code 1
npm ERR! path /Users/abedin/Desktop/Node JS/Projects/Brain.js/node_modules/gl
npm ERR! command failed
npm ERR! command sh -c -- prebuild-install || node-gyp rebuild
npm ERR! CXX(target) Release/obj.target/angle_common/angle/src/common/Float16ToFloat32.o
npm ERR! CXX(target) Release/obj.target/angle_common/angle/src/common/MemoryBuffer.o
npm ERR! CXX(target) Release/obj.target/angle_common/angle/src/common/angleutils.o
npm ERR! CXX(target) Release/obj.target/angle_common/angle/src/common/debug.o
npm ERR! CXX(target) Release/obj.target/angle_common/angle/src/common/mathutil.o
npm ERR! CXX(target) Release/obj.target/angle_common/angle/src/common/string_utils.o
npm ERR! CXX(target) Release/obj.target/angle_common/angle/src/common/tls.o
npm ERR! CXX(target) Release/obj.target/angle_common/angle/src/common/utilities.o
npm ERR! LIBTOOL-STATIC Release/angle_common.a
npm ERR! COPY Release/obj/gen/angle/id/commit.h
npm ERR! TOUCH Release/obj.target/angle/src/commit_id.stamp
npm ERR! CXX(target) Release/obj.target/libANGLE/angle/src/common/event_tracer.o
npm ERR! CXX(target) Release/obj.target/libANGLE/angle/src/libANGLE/AttributeMap.o
npm ERR! CXX(target) Release/obj.target/libANGLE/angle/src/libANGLE/renderer/gl/RendererGL.o
npm ERR! CXX(target) Release/obj.target/libANGLE/angle/src/libANGLE/renderer/gl/SamplerGL.o
npm ERR! CXX(target) Release/obj.target/libANGLE/angle/src/libANGLE/renderer/gl/ShaderGL.o
JS/Projects/Brain.js/node_modules/gl/build/config.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/Users/abedin/Desktop/Node JS/Projects/Brain.js/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/Users/abedin/Library/Caches/node-gyp/16.18.0/include/node/common.gypi',
npm ERR! gyp info spawn args '-Dlibrary=shared_library',
npm ERR! gyp info spawn args '-Dvisibility=default',
npm ERR! gyp info spawn args '-Dnode_root_dir=/Users/abedin/Library/Caches/node-gyp/16.18.0',
npm ERR! gyp info spawn args '-Dnode_gyp_dir=/Users/abedin/Desktop/Node JS/Projects/Brain.js/node_modules/node-gyp',
npm ERR! gyp info spawn args '-Dnode_lib_file=/Users/abedin/Library/Caches/node-gyp/16.18.0/<(target_arch)/node.lib',
npm ERR! gyp info spawn args '-Dmodule_root_dir=/Users/abedin/Desktop/Node JS/Projects/Brain.js/node_modules/gl',
npm ERR! gyp info spawn args '-Dnode_engine=v8',
npm ERR! gyp info spawn args '--depth=.',
npm ERR! gyp info spawn args '--no-parallel',
npm ERR! gyp info spawn args '--generator-output',
npm ERR! gyp info spawn args 'build',
npm ERR! gyp info spawn args '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! gyp info spawn make
npm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
npm ERR! ../angle/src/libANGLE/Program.cpp:2505:49: warning: instantiation of variable 'gl::GLTypeToGLenum<float>::value' required here, but no definition is available [-Wundefined-
npm ERR! int yynerrs;
npm ERR! ^
npm ERR! 1 warning generated.
npm ERR! clang: error: no such file or directory: 'JS/Projects/Brain.js/node_modules/gl/deps/include'
npm ERR! make: *** [Release/obj.target/webgl/src/native/bindings.o] Error 1
npm ERR! gyp ERR! build error
npm ERR! gyp ERR! stack Error: `make` failed with exit code: 2
npm ERR! gyp ERR! stack at ChildProcess.onExit (/Users/abedin/Desktop/Node JS/Projects/Brain.js/node_modules/node-gyp/lib/build.js:203:23)
npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:513:28)
npm ERR! gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:293:12)
npm ERR! gyp ERR! System Darwin 22.5.0
npm ERR! gyp ERR! command "/usr/local/bin/node" "/Users/abedin/Desktop/Node JS/Projects/Brain.js/node_modules/.bin/node-gyp" "rebuild"
npm ERR! gyp ERR! cwd /Users/abedin/Desktop/Node JS/Projects/Brain.js/node_modules/gl
npm ERR! gyp ERR! node -v v16.18.0
npm ERR! gyp ERR! node-gyp -v v9.4.0
npm ERR! gyp ERR! not ok
I tried rebuilding with npm rebuild.