Win上使用yarn link的那些坑
先上坑位:在使用yarn link时会在C:\Users\<你的用户名>\AppData\Local\Yarn\Data\link中创建链接文件,而若我们的yarn的全局bin是安装在其他位置时(即link生成的文件路径与yarn的全局bin安装路径中基本没有重合,不能用简单的相对路径找到)则会生成绝对路径并使用%~dp0标识符,从而直接导致运行对应的模块时找不到命令指向的模块,具体错误如下图:

生成的对应cmd文件如下所示:

当然我们可以手动删除%~dp0\去解决这个问题,但治标不治本。最好还是能配置一下相关的yarn的路径去彻底解决这个问题。
另外,若我们的yarn是用npm -g install yarn来安装的话,还必须要修改npm包的全局安装路径到C盘中。
所以,如果想要愉快地使用yarn link的话还请务必设置好yarn以及npm包的相关安装路径(并将所有相关文件移动到对应路径中),并配置好相关的环境变量(不然会找不到相关的命令):
NPM相关
查看各种路径命令
- 查看当前 npm 包的全局安装路径:
npm prefix -g - 查看配置列表:
npm config ls
修改路径命令
- 修改 npm 的包的全局安装路径:
npm config set prefix "C:\packageManager\npm" - 修改 npm 的包的全局 cache 位置:
npm config set cache "C:\packageManager\npm_cache"
配置环境变量
将全局路径配置在环境变量中
此电脑点右键 -> 属性 -> 高级系统设置 -> 环境变量 -> 系统变量 -> Path双击 -> 新建 ->添加:C:\packageManager\npm(自己的相关路径可以根据 npm prefix -g 查看)
Yarn相关
查看各种路径命令
- 查看 yarn 全局 bin 位置:
yarn global bin - 查看 yarn 全局安装位置:
yarn global dir - 查看 yarn 全局 cache 位置:
yarn cache dir
修改路径命令
- 改变 yarn 全局 bin 位置(注意为bin所在文件夹):
yarn config set prefix "C:\Users\\<你的用户名>\AppData\Local\Yarn\Data" - 改变 yarn 全局安装位置:
yarn config set global-folder "C:\Users\\<你的用户名>\AppData\Local\Yarn\Data\global" - 改变 yarn 全局 cache 位置:
yarn config set cache-folder "C:\Users\\<你的用户名>\AppData\Local\Yarn\Cache" - 改变 yarn 非全局 link(非yarn link) 位置:
yarn config set link-folder "C:\Users\\<你的用户名>\AppData\Local\Yarn\Data\link"
配置环境变量
此电脑点右键 -> 属性 -> 高级系统设置 -> 环境变量 -> 系统变量 -> Path双击 -> 新建 ->添加:C:\Users\\<你的用户名>\AppData\Local\Yarn\Data\bin(自己的相关路径可以根据 yarn global bin 查看)
大功告成
之后再去yarn link后就可以直接运行相关的命令了,对应生成的cmd文件如下:
