首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
V2EX  ›  分享创造

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

  •  
  •   milklee · 2017-10-31 16:03:12 +08:00 · 3050 次点击
    这是一个创建于 603 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近想逐步使用 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

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

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

    楼主本身那个东西就这样,丢了包版本信息,并不会把 yarn.lock 转成 package-lock.json。
        14
    isbase   2017-11-01 17:47:19 +08:00
        15
    kinglisky   2017-11-06 13:23:08 +08:00
    看到你了~
        16
    superelepant   2017-11-09 23:04:57 +08:00
    yarn 比 npm 快呀,不懂楼主为何
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1955 人在线   最高记录 5043   ·   Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 21ms · UTC 16:19 · PVG 00:19 · LAX 09:19 · JFK 12:19
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1