`yarn link` 和 `npm link` 有啥区别?

Posted

技术标签:

【中文标题】`yarn link` 和 `npm link` 有啥区别?【英文标题】:What's the difference between `yarn link` and `npm link`?`yarn link` 和 `npm link` 有什么区别? 【发布时间】:2019-01-28 00:18:03 【问题描述】:

似乎有时npm linkyarn link 给出奇怪错误的情况下工作。我已经注意到了几次。我以为他们都在幕后制作符号链接——他们在做不同的事情吗?

【问题讨论】:

如果您发布您看到的奇怪行为会有所帮助。 @ChristopherFrancisco 我不是在寻求特定问题的帮助,只是在过去几个月的过程中,我注意到在不同的情况下他们的行为不同,我想知道在哪里我可以详细了解它们之间的区别。 这是真的,它们的行为并不相同,有时yarn link 只是不起作用,而npm link 却... 对于任何发现 yarn link 没有向本地二进制文件添加符号链接的人(如果您正在开发二进制节点应用程序),那是因为 yarn link 和 npm link 在这方面的行为不同这似乎是一个已知问题github.com/yarnpkg/yarn/issues/1585 【参考方案1】:

yarn link 和 npm link 机制有以下不同:

yarn 创建一个与全局同级的链接目录,所有链接软链接都存放在该目录中 npm 将打包后的文件直接修改到公共包管理路径/usr/local/lib/node_modules 中的一个地址。

错误信息有可能是和yarn在生成的链接下的路径有关,也可能是其他的,还是要看具体的错误信息。

【讨论】:

以上是关于`yarn link` 和 `npm link` 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

如果使用 yarn link'ed 包,vue-cli-service 将无法服务

如何使用本地安装的 Gulp.js v4 和 `yarn --no-bin-links`?

纱线错误“EACCESS:权限被拒绝,scandir'/home/ubuntu/.config/yarn/link'”

npm link用法总结

如何`yarn link`一个dist文件夹?

在react-native 项目中使用yarn link