gpt4 book ai didi

node.js - `npm link x` 和 `npm install/path/to/x` 之间的区别

转载 作者:IT老高 更新时间:2023-10-28 22:00:34 25 4
gpt4 key购买 nike

我以为我理解了两者的区别

npm link x

npm install /local/path/to/x

最初我认为前者创建了指向 x 的符号链接(symbolic link),而后者在您的项目中安装了 x 的单独副本,而不是对其进行符号链接(symbolic link)。

然而,我最近注意到我最初的印象是错误的,它们似乎都使用符号链接(symbolic link) - 那么两者之间有什么区别吗?

最佳答案

An article on Medium亚历克斯·米尔斯 (Alex Mills) 将其展示出来。

上面说 npm link xnpm install/local/path/to/x 的区别是:

  1. 最大的不同是 npm install/local/path/x 会运行 preinstall/postinstall 钩子(Hook),但 npm link x 不会。

  2. npm link 使用全局 NPM 空间,npm install/local/path/x 不使用。 npm link 创建指向 x 的符号链接(symbolic link)在全局空间中,然后当您从y,它创建的符号链接(symbolic link)不是直接指向 x,而是指向全局符号链接(symbolic link)。如果您是,这是一个重要的区别使用不同的全局 node.js 版本,例如 NVM。

  3. npm install/absolute/path/x 将改变 package.json, npm link x没有。

要获取新的本地副本而不是符号链接(symbolic link),请使用 npm pack,如下所示:

tgz="$PWD/$(npm pack)"
cd <other project>
npm install "$tgz"

您也可以使用 cp/rsync,但它不会运行安装 Hook 或将可执行文件放入 node_modules/.bin...这会起作用。

关于node.js - `npm link x` 和 `npm install/path/to/x` 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50674052/

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