gpt4 book ai didi

node.js - 我可以假设 `node` 总是在 NPM 设置的 $PATH 中吗?

转载 作者:可可西里 更新时间:2023-11-01 11:46:59 25 4
gpt4 key购买 nike

几年来我一直将 NPM 作为一个简单的构建工具使用,我可以假设通过 package.json 安装的每个 CLI 工具都可以在 PATH,因为 NPM 添加了 ./node_modules/.bin 路径。

但是当我准备编写一个小的 Node 脚本来做一些家庭清理杂务时,如果 NPM 实际上在它提供给用户的 PATH 中有 node 可执行文件,我有点担心。这可能看起来很愚蠢,因为 ./node_modules/.bin 中的所有脚本都依赖于 node 存在,以便 Unix 上的包装器脚本能够找到它,但我我认为 Windows 中可能会发生一些神奇的事情。也许他们使用了自己的其他魔法。或者其他的东西。没关系,真的,我只想能够断言:

node 可执行文件是否始终位于 NPM 提供给 npm 脚本的 PATH 上?在所有平台上?它是否始终与运行 NPM 的 Node 相同?

这似乎太基础了,几乎不会被问到,但安全总比后悔好。

最佳答案

Note: not a definitive answer, but too lengthy for a comment

如果您查看 default values 上的文档为脚本设置的:

npm will default some script values based on package contents.

"start": "node server.js":

If there is a server.js file in the root of your package, then npm will default the start command to node server.js.

虽然这不是您问题的明确答案,但 npm 使用 node 作为默认值,以防未定义 npm start。这清楚地表明 npm 依赖 Node 在所有情况下都存在。

关于node.js - 我可以假设 `node` 总是在 NPM 设置的 $PATH 中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42509296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com