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文件如下: