The installed files are not consistent
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 42/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- nodejs
- 领域
- build-system, tooling
调研方向
复现 cpu-features@0.0.10 在 macOS 上的两次安装,并比较生成的 build/Release/cpufeatures.node 哈希值。从 buildcheck.js、Makefile 和 node-gyp rebuild 的输出开始;重复安装能够生成一致的已安装文件,并且缓存行为符合预期,即表示完成。
由索引模型根据 Issue 内容生成。
描述
- Node Version:
❯ node -v
v20.12.2
❯ npm -v
10.5.0 - Platform:
❯ 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:
❯ 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:
cpu-features@0.0.10
Verbose output (from npm or node-gyp):
❯ 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
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.
- 主要语言
- Python
- 星标
- 10.7k
- 派生
- 1.9k
- 平均合并
- 1 天 4 小时
- 30 天内合并 PR
- 5
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
nodejs/node-gyp 的其他 Issue
-
dependencies github_actions
难度 2/5 1-3 小时 新手友好度 68/100
-
难度 4/5 3-5 天 新手友好度 48/100
-
难度 4/5 3-5 天 新手友好度 48/100
-
MSYS2
难度 4/5 3-5 天 新手友好度 35/100
-
难度 4/5 3-5 天 新手友好度 48/100
相似的 Issue
-
agent-ready documentation needs-triage
难度 1/5 1-3 小时 新手友好度 88/100
-
documentation
难度 1/5 1 小时以内 新手友好度 91/100
-
workflow-status page template still says reusable workflows are "triggered only by workflow_call:" 未关闭
难度 1/5 1 小时以内 新手友好度 92/100
-
instance instance add
难度 1/5 1 小时以内 新手友好度 72/100
searxng/searx-instances#939 · 1 条评论 ·
-
area-deployment area-integrations triage:bot-seen
难度 2/5 半天 新手友好度 86/100