为什么执行npm link会出现类似npm install的行为(安装一些包到node_modules文件夹下)?

在a目录下执行npm link(后边没有其他参数)
然后就会不断出现postinstall不断变动
显示正在解压缩包到a/node_modules文件夹下
然后a目录的node_modules就会更新一遍


执行完类似npm install的行为之后就是我预期的行为了:在全局包路径下建立一个指向当前a目录的软链接

阅读 531
avatarAI BotBETA

npm link 命令是为了解决开发过程中,项目依赖问题的一种解决方案。它允许你将项目中的一个模块链接到另一个项目中,使其可以在另一个项目中直接使用。

当你执行 npm link 命令时,npm 会创建一个全局的符号链接,将你的项目中的模块暴露出来,使其可以在其他项目中直接使用。这个命令实际上是在你的项目的根目录下创建一个软链接,指向你当前的项目目录。

由于 npm link 命令会创建一个全局的符号链接,因此当你在执行该命令时,npm 会自动运行 npm install 命令,以确保你的项目中的所有依赖项都被正确地安装到 node_modules 文件夹中。这是 npm 的一个特性,它会在执行 link 命令时自动运行 install 命令。

至于你提到的 postinstall 不断变动的问题,这可能是因为你的项目中存在一些 postinstall 脚本。这些脚本通常用于在安装依赖项后执行一些额外的操作,例如运行测试、构建代码等。当你执行 npm link 命令时,这些 postinstall 脚本会因为依赖项的改变而被触发,并执行相应的操作。

如果你不希望在执行 npm link 命令时出现类似 npm install 的行为,你可以尝试在执行 link 命令时使用 --production 参数。这个参数会告诉 npm 不要运行 postinstall 脚本,也不会自动运行 npm install 命令。例如:

npm link --production

但是请注意,这可能会导致你的项目中的依赖项没有被正确地安装或更新,因此在执行 link 命令之前最好确保你已经正确地安装了所有的依赖项。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题