* **Node Version**: <!-- `node -v` and `npm -v` --> ❯ node -v v20.12.2 ❯ npm -v 10.5.0 * **Platform**: <!-- `uname -a` (UNIX), or `systeminfo | findstr /B /C:"OS Name" /C:"OS Version" /C:"System Type"` (Windows) --> ❯ uname -a Darwin JACK 23.6.0 Darwin Kernel Version 23.6.0: Fri Jul 5 17:54:20 PDT 2024; root:xnu-10063.141.1~2/RELEASE_X86_64 x86_64 * **Compiler**: <!-- `cc -v` (UNIX) or `msbuild /version & cl` (Windows) --> ❯ gcc -v Apple clang version 15.0.0 (clang-1500.3.9.4) Target: x86_64-apple-darwin23.6.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin * **Module**: <!-- what you tried to build/install --> cpu-features@0.0.10 <details><summary>Verbose output (from npm or node-gyp):</summary> ```shell ❯ npm r cpu-features;npm i cpu-features@0.0.10 --verbose removed 3 packages, and audited 1 package in 491ms found 0 vulnerabilities npm verb cli /Users/jackzhang/.nvm/versions/node/v20.12.2/bin/node /Users/jackzhang/.nvm/versions/node/v20.12.2/bin/npm npm info using npm@10.5.0 npm info using node@v20.12.2 npm verb title npm i cpu-features@0.0.10 npm verb argv "i" "cpu-features@0.0.10" "--loglevel" "verbose" npm verb logfile logs-max:10 dir:/Users/jackzhang/.npm/_logs/2024-09-10T14_15_06_383Z- npm verb logfile /Users/jackzhang/.npm/_logs/2024-09-10T14_15_06_383Z-debug-0.log npm http fetch GET 200 https://npmreg.proxy.ustclug.org/cpu-features 19ms (cache hit) npm http fetch GET 200 https://npmreg.proxy.ustclug.org/buildcheck 12ms (cache hit) npm http fetch GET 200 https://npmreg.proxy.ustclug.org/nan 13ms (cache hit) npm info run cpu-features@0.0.10 install node_modules/cpu-features node buildcheck.js > buildcheck.gypi && node-gyp rebuild npm http fetch POST 200 https://npmreg.proxy.ustclug.org/-/npm/v1/security/advisories/bulk 567ms npm info run cpu-features@0.0.10 install { code: 0, signal: null } added 3 packages, and audited 4 packages in 7s found 0 vulnerabilities npm verb exit 0 npm info ok ~/src/workshop/hello-world-node 9s 22:15:13 ❯ md5sum node_modules/cpu-features/build/Release/cpufeatures.node c7cea303f2b61a426712f207f516b59d node_modules/cpu-features/build/Release/cpufeatures.node ~/src/workshop/hello-world-node 22:15:16 ❯ npm r cpu-features;npm i cpu-features@0.0.10 --verbose removed 3 packages, and audited 1 package in 366ms found 0 vulnerabilities npm verb cli /Users/jackzhang/.nvm/versions/node/v20.12.2/bin/node /Users/jackzhang/.nvm/versions/node/v20.12.2/bin/npm npm info using npm@10.5.0 npm info using node@v20.12.2 npm verb title npm i cpu-features@0.0.10 npm verb argv "i" "cpu-features@0.0.10" "--loglevel" "verbose" npm verb logfile logs-max:10 dir:/Users/jackzhang/.npm/_logs/2024-09-10T14_15_19_828Z- npm verb logfile /Users/jackzhang/.npm/_logs/2024-09-10T14_15_19_828Z-debug-0.log npm http fetch GET 200 https://npmreg.proxy.ustclug.org/cpu-features 20ms (cache hit) npm http fetch GET 200 https://npmreg.proxy.ustclug.org/nan 12ms (cache hit) npm http fetch GET 200 https://npmreg.proxy.ustclug.org/buildcheck 16ms (cache hit) npm info run cpu-features@0.0.10 install node_modules/cpu-features node buildcheck.js > buildcheck.gypi && node-gyp rebuild npm http fetch POST 200 https://npmreg.proxy.ustclug.org/-/npm/v1/security/advisories/bulk 543ms npm info run cpu-features@0.0.10 install { code: 0, signal: null } added 3 packages, and audited 4 packages in 7s found 0 vulnerabilities npm verb exit 0 npm info ok ~/src/workshop/hello-world-node 8s 22:15:26 ❯ md5sum node_modules/cpu-features/build/Release/cpufeatures.node 6cbebb24ba9321c032ab68e897579978 node_modules/cpu-features/build/Release/cpufeatures.node ``` </details> <!-- Any further details --> As we can we see, I tried to install the same version of `cpu-features` twice, the content in node_modules is different. The md5 of `node_modules/cpu-features/build/Release/cpufeatures.node` is `c7cea303f2b61a426712f207f516b59d` at first time while it is `6cbebb24ba9321c032ab68e897579978` at second time. All files except `node_modules/cpu-features/build/Release/cpufeatures.node` are the same. It would be great if the content keeps consistent no matter how many times I install it. If the content is different, the hash would be different as well. And finally, the cache does not work. BTW, there is no this issue on Linux but it exists on MacOS. I am not sure it is an expected behavior. Thanks @ben-zalekta-lmnd 's work in PR #3062 to ensure the Makefile consistent.