从npm处迁移过来多许多用户来说是一个相对简单的过程。yarn能想npm一样定制相同的package.json,并能够从npm仓库下载任意的包

如果你想要在已存在的npm项目中使用yarn,运行yarn即可,其默认运行的是yarn install:

yarn

这将使用Yarn的与npm的分辨率算法兼容( node.js module resolution algorithm.)的分辨率算法去部署node_modules文件夹。

如果出现错误,请查看已存在的问题或将其报告给 Yarn issue tracker

当你运行yarnyarn add <package>时,将会在包的根目录下生成yarn.lock文档。你不需要去读或者理解这个文档,只要在源码控制中进行检查即可。当其他人使用yarn来替代npm时,yarn.lock文档将保证他们精确地得到与你相同的依赖

在大多数例子中,第一次运行yarn or yarn add就能成功。但是在一些例子中,package.json中的信息不够明确去排除依赖,且会与yarn选择依赖的明确方式产生冲突。这种情况经常发生在一些大项目中,npm install经常失败,导致开发人员要经常地移除node_modules文件夹去从头开始构建。如果这个情况发生,尽量在转换成yarn之前使用npm去使依赖的版本更加明确

在yarn的1.7.0版本之后,能够使用yarn去import npm生成给yarn的package-lock.json来解决上面的问题

这个项目的其他开发人员还是能够继续使用npm,不需要让这个项目的每个人都同时转换。使用yarn的开发人员都会得到与他人相同的配置,使用npm的可能会有稍微的不同,这是npm有意导致的。

之后,如果你认为yarn不适合你,你仍能够回去使用npm,并不需要做任何的变化。如果这个项目没有人需要使用yarn,那么你就可以删除你的yarn.lock文档,但是这不是必须要做的。

如果你正使用npm-shrinkwrap.json文档,要注意你可能会导致一系列不同的依赖。yarn不支持npm-shrinkwrap.json,因为它没有足够的信息去支持yarn更多的确定性算法。如果你正在使用npm-shrinkwrap.json,那么将这个项目的所有人同时转成使用yarn将更加容易。只要将npm-shrinkwrap.json删除并检查新创建的yarn.lock即可。

CLI commands comparison 两者的cli对比:

npm (v5) Yarn
npm install yarn install
(N/A) yarn install --flat
(N/A) yarn install --har
npm install --no-package-lock yarn install --no-lockfile
(N/A) yarn install --pure-lockfile
npm install [package] yarn add [package]
npm install [package] --save-dev yarn add [package] --dev
(N/A) yarn add [package] --peer
npm install [package] --save-optional yarn add [package] --optional
npm install [package] --save-exact yarn add [package] --exact
(N/A) yarn add [package] --tilde
npm install [package] --global yarn global add [package]
npm update --global                   yarn global upgrade                    
npm rebuild yarn add --force
npm uninstall [package] yarn remove [package]
npm cache clean yarn cache clean [package]
rm -rf node_modules && npm install   yarn upgrade                          
npm version major                     yarn version --major                  
npm version minor                     yarn version --minor                  
npm version patch                     yarn version --patch                  

yarn的学习-2-从 npm 迁移到 yarn-包管理工具的更多相关文章

  1. Python学习笔记(十二)—Python3中pip包管理工具的安装【转】

    本文转载自:https://blog.csdn.net/sinat_14849739/article/details/79101529 版权声明:本文为博主原创文章,未经博主允许不得转载. https ...

  2. 前端包管理工具 yarn

    yarn 是一个  与 npm 类似的 前端包管理工具 安装 windows  要去官网下载 (一定要去官网下载 .mis 文件进行安装)   用npm 或者 cnpm  也能安装 但是这种安装 有缺 ...

  3. node的包管理工具:yarn和npm

    arn是Facebook发布的一款依赖管理工具,它比npm更快.更高效. NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题. 一.yarn官方网站: 英文官网:ht ...

  4. 主流包管理工具npm、yarn、cnpm、pnpm之间的区别与联系——原理篇

    接触 node 之后,一直使用npm包管理工具, cnpm 一开始会用一些,但是并没有觉得比 npm 快得多,使用 cnpm 的时候还经常安装不成功,只能再用 npm 安装一遍,渐渐的就弃用了 cnp ...

  5. 包管理工具(npm、yarn)

    npm包管理工具 1. npm的包安装分为本地安装(local).全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已. 2. 这两种安装方式的区别: 本地安装(安装在命令行运行所在 ...

  6. npm 和 yarn 前端包管理工具

    前言 前端开发逐渐工程化,npm作为我们的依赖管理工具起到十分重要的作用,本文就来总结一下 npm 和 yarn 相关知识点. 正文 1.什么是npm (1)node的包管理器(node packag ...

  7. 包管理工具-yarn

    今天知道了一个新的包管理工具叫yarn,总结如下: 如果你知道npm的使用过程,那么yarn你就觉着相见恨晚呐...... npm存在的问题: >安装的时候无法保证速度的一致性 >安全问题 ...

  8. Yarn 包管理工具

    已经安装的 yarn add vue vue@2.2.5 yarn add  element-ui -S  yarn add bootstrap@4.0.0-alpha.6 --save   yarn ...

  9. NodeJS包管理工具——npm入门

    如今每个语言体系中都有一个包管理工具,PHP的Composer,Ruby的gem,Python的pip,Java的Maven……当然还有Node.js的npm.有的人会奇怪为何要引入又一个新东西来让我 ...

  10. Node.js权威指南 (4) - 模块与npm包管理工具

    4.1 核心模块与文件模块 / 574.2 从模块外部访问模块内的成员 / 58 4.2.1 使用exports对象 / 58 4.2.2 将模块定义为类 / 58 4.2.3 为模块类定义类变量或类 ...

随机推荐

  1. [日常] Go语言圣经-竞争条件习题

    package main import( "fmt" "sync" ) var balance int func Deposit(amount int) { b ...

  2. [日常] Go语言圣经--包和文件-包初始化习题

    1.解决包级变量的依赖顺序,然后按照包级变量声明出现的顺序依次初始化 2.包中含有多个.go源文件,它们将按照发给编译器的顺序进行初始化 3.init初始化函数,在每个文件中的init初始化函数,在程 ...

  3. Alice and Bob(博弈)

    Alice and Bob Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:65536KB Total submit users ...

  4. 存储过程TYPE类型参数调试

    当我们写完一段存储过程后,必然需要调试运行一下写的代码是否能成功运行,当参数是字符,数字或日期时,可以直接在测试窗口输入值.但是类型如果是定义好的TYPE,就无法简单的输入. 一.自定义TYPE TY ...

  5. linux mysql 卸载与安装及配置命令

    1.RPM包安装方式的MySQL卸载 1) 检查是否安装了MySQL组件. # rpm -qa | grep -i mysql 2)卸载前关闭MySQL服务 # service mysql statu ...

  6. jsonp 实现跨域

    为什么会出现跨域问题 跨域的安全限制都是对浏览器端来说的,服务器端是不存在跨域安全限制的. 浏览器的同源策略限制从一个源加载的文档或脚本与来自另一个源的资源进行交互. 如果协议,端口和主机对于两个页面 ...

  7. 使用Apache php 的一些基本操作(一)

    切换目录命令:(就可以在www文件夹里面操作了) cd /var/www/html 新建一个文件: sudo vim info.php (这里出现了一个问题,sudo: vim: command no ...

  8. HTML/CSS学习(二)

    续...... ============================================================================================ ...

  9. ArcGIS JavaScript API 4.x中热度图渲染的使用注意事项

    要使用ArcGIS JavaScript API 4.x的热度图渲染器来渲染要素图层,需要注意几点前提条件: 1.需要使用ArcGIS Server 10.6.1或更高版本发布GIS服务. 2.只支持 ...

  10. CSS3动画详解(图文教程)

    本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 前言 本文主要内容: 过渡:transition 2D 转换 trans ...