将 Yarn 项目转为 NPM 的命令行工具

2017-10-31 16:03:12 +08:00
 milklee

最近想逐步使用 NPM 替换 Yarn 了,所以写了这么个命令行工具。

使用起来很简单,先确保你的电脑里安装了 Node.js ,然后使用 NPM 全局安装:

npm install yarn2npm -g

然后在你的项目里运行:

y2n

如果你要删除 yarn.lock,可以加个 -d 参数:

y2n -d

工作原理是检测当前工作目录下是否有 package.jsonyarn.lock,如果有就删除 node_modules (如果你加了 -d 参数还会删除 yarn.lock )然后运行 npm install

源码地址: https://github.com/lmk123/yarn2npm

7790 次点击
所在节点    分享创造
16 条回复
SourceMan
2017-10-31 16:21:43 +08:00
rm -r node_modules
yarn
git xxx
coderfox
2017-10-31 16:24:54 +08:00
还以为会做 yarn.lock 转 npm lock 的工具。
希望能加上这个功能。
milklee
2017-10-31 16:43:04 +08:00
@coderfox 就我目前的几个项目来看,直接使用 `npm install` 生成全新的 package-lock.json 是没有兼容性问题的,所以暂时没有考虑要做 yarn.lock 转 package-lock.json 的功能。
hronro
2017-10-31 16:53:06 +08:00
可以谈一谈从 yarn 转到 npm 的原因嘛
milklee
2017-10-31 17:20:00 +08:00
@hronro 纯粹是出于个人喜好吧,目前 NPM 5 对我来说已经够用了,所以我决定统一使用 Node.js 自带的 NPM 而不是需要单独安装的 Yarn。
whypool
2017-10-31 17:28:53 +08:00
感觉 yarn 快要凉了,对比 npm5 优势不大了
TangMonk
2017-10-31 18:31:12 +08:00
贵圈真乱
MinonHeart
2017-10-31 21:12:28 +08:00
就你们前端事多
orzfly
2017-10-31 21:22:22 +08:00
if [[ -f yarn.lock && -d node_modules ]]; then rm -Rf yarn.lock node_modules && npm install; fi

至于写个包么(跑
mooncakejs
2017-10-31 22:59:07 +08:00
@orzfly 包版本信息全丢了
milklee
2017-11-01 10:41:33 +08:00
@orzfly 玩不来 Shell 😂
qingv
2017-11-01 13:22:30 +08:00
希望可以直接换 lock 😂
orzfly
2017-11-01 13:47:52 +08:00
@mooncakejs #10 哦,那又怎样……

楼主本身那个东西就这样,丢了包版本信息,并不会把 yarn.lock 转成 package-lock.json。
isbase
2017-11-01 17:47:19 +08:00
kinglisky
2017-11-06 13:23:08 +08:00
看到你了~
superelepant
2017-11-09 23:04:57 +08:00
yarn 比 npm 快呀,不懂楼主为何

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/402301

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX