# 由 npm 转到 yarn
着急的同学可以安装完yarn后,直接看3.3 迁移 。
一、缘由
项目中使用vuepress
把markdown
文件转为html文件,生成文档供用户使用。安装完成后发现两个问题:
- 有的依赖(其中有一个叫
ajv
)始终安装不上 -
vue-loader
的版本和vue
不对应,依赖错误
二、寻求解决办法
我认为出问题是由于安装 vuepress
导致的,所以上 vuepress
官网查看,发现了这样一段话:
如果你的现有项目依赖了 webpack 3.x,推荐使用 Yarn 而不是 npm 来安装 VuePress。因为在这种情形下,npm 会生成错误的依赖树。
事实上,我项目里使用的是`vue-cli3.,webpack使用的是4.x,显然和官网描述情况不符,但是项目的module里还是可能存在对webpack3.x的二级依赖,所以我决定试试 yarn.
三、使用 yarn
3.1 安装
去yarn官网查看安装方法,官网有语言切换,我登录进去默认是繁体中文,可以切换为简体中文,windows下可以直接下载安装包。
注意: 一定要上官网,不要上 https://yarn.bootcss.com
这个网站下载,在这个网站我没有下载成功。
3.2 命令
大体和npm命令相同,比如run、install 都可以执行成功,当然可以简写。下面大概列一个表格:
npm 命令 | yarn命令 | 作用 |
---|---|---|
npm install | yarn或yarn install | 安装全部依赖 |
npm install xx | yarn add xx | 添加运行时依赖包xx |
npm install xx --save-dev | yarn add --dev | 添加开发时依赖包xx |
npm init | yarn init | 初始化一个新项目 |
npm uninstall xx | yarn remove xx | 删除依赖项 |
npm update xx | yarn upgrade xx | 升级依赖项 |
npm run dev | yarn run dev 或 yarn dev | 运行一个定义好的包脚本 |
-g | global | 全局安装使用的参数 |
3.3 迁移
- 删除项目根目录下的
package-lock.json
文件,运行yarn
后会生成yarn.lock
文件代替; - 删除
node_modules
目录下的所有原来有npm
安装的文件; - 在项目根目录,执行 :
yarn
- 安装完成后,如果需要启动项目的,把
npm run xxx
命令 改成yarn xxx
命令在命令行执行即可。