Win上使用yarn link的那些坑


Win上使用yarn link的那些坑

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

yarn link后运行对应模块时产生的错误

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

yarn link后生成的对应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文件如下:

配置路径之后生成的对应cmd文件


文章作者: 智升
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 智升 !
评论
  目录