V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
csdoker
V2EX  ›  程序员

yarn3 感觉有点垃圾啊。。安装官网的流程装下来 vscode 就报错

  •  
  •   csdoker · 2022-07-07 13:36:21 +08:00 · 4244 次点击
    这是一个创建于 899 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我的项目用了 TS ,用 yarn3 安装了依赖后,vscode 就提示找不到 ts 相关的包

    查了下官网文档,居然还要安装 vscode 的 sdk 才能支持 ts 的提示,一个包管理工具有必要这么麻烦吗。。感觉升级到 3 以后还没有 yarn1 和 2 好用

    而且别人要用 yarn 跑我的项目,也得自己装 vscode 的 sdk ,这不是蛋疼吗

    19 条回复    2022-07-08 14:59:12 +08:00
    swift
        1
    swift  
       2022-07-07 13:53:48 +08:00 via iPhone
    vue 不也得插件
    binhb
        2
    binhb  
       2022-07-07 13:54:54 +08:00
    一直在用 yarn1
    Mexion
        3
    Mexion  
       2022-07-07 13:58:43 +08:00
    用 pnpm 吧
    dcsuibian
        4
    dcsuibian  
       2022-07-07 14:14:42 +08:00
    完全没理解你的意思。
    项目中有用到 ts 、prettier 、eslint 的功能的话,本来就需要 node_modules 有对应的包外加 IDE 的配合啊。
    vscode 天然能配合 TypeScript ,但 prettier 、eslint 就需要另外加插件(毕竟定位是编辑器)。你换 webstorm 的话是全部内置。

    再者说别人如果只是要运行你的项目的话,为什么需要 vscode ?
    不应该是命令行直接 yarn install 然后 yarn dev/start/serve 之类的就能运行了吗。只运行又不需要代码提示

    甚至来说,别人根本不需要 yarn ,你所需要的依赖应该在 package.json 里都写清楚了。
    换 npm install 、npm run dev/start/serve 照样能用
    跟 yarn 有啥关系?
    molvqingtai
        5
    molvqingtai  
       2022-07-07 14:16:53 +08:00 via Android
    不知所云
    csdoker
        6
    csdoker  
    OP
       2022-07-07 14:43:36 +08:00
    @dcsuibian yarn3 装的项目没有 nod_modules 了,导致 vscode 找不到 ts 相关的类型包,所以会报错,必须为 vscode 单独安装 yarn 的 sdk 。。
    IvanLi127
        7
    IvanLi127  
       2022-07-07 15:05:26 +08:00
    别人用 Yarn 3 是别人的事情,他用 Yarn 3 的话不装这 SDK 他不就没提示了,如果他要提示的话他自己不就会装?
    要是人家用 Yran 1 跑的话应该就不用装了吧?这咋就成垃圾了呢?你选这个工具的时候是不是得看看人家为啥这样设计。。。。
    dsrkafuu
        8
    dsrkafuu  
       2022-07-07 16:14:49 +08:00
    去用 pnpm 吧,真心推荐
    sampdoria
        9
    sampdoria  
       2022-07-07 17:20:14 +08:00   ❤️ 1
    这个属实没看懂。感觉要怪也只能怪 vscode 不是吗?开发者又不是面向 vscode 编程…
    Trim21
        10
    Trim21  
       2022-07-07 17:51:40 +08:00
    主要影响的是其他 corepack 用户,不用 corepack 的不用担心 package.json 里面写的这个"packageManager" (
    superchijinpeng
        11
    superchijinpeng  
       2022-07-07 18:34:13 +08:00
    pnpm
    Chell
        12
    Chell  
       2022-07-07 18:37:45 +08:00
    VSCode 是这样的。。
    CodingNaux
        13
    CodingNaux  
       2022-07-07 18:40:56 +08:00
    npm,yarn,pnpm, corepack
    这个季度 okr 又有了:“提升开发体验,切换到 pnpm"
    累。
    npm 挺好,搞那么多花里胡哨的干嘛,装个包的时间正好休息
    sjhhjx0122
        14
    sjhhjx0122  
       2022-07-07 22:12:52 +08:00
    真的,用 pnpm 吧
    Bingchunmoli
        15
    Bingchunmoli  
       2022-07-08 00:14:23 +08:00 via Android
    表示和 yarn 没关系只是包管理工具,而且 ts 规范是类型单独的包不需要可以不引入的吧
    PqgpNgA0wk
        16
    PqgpNgA0wk  
       2022-07-08 00:32:27 +08:00
    从 yarn 换到 pnpm ,再回到 npm ,我就觉得只有官方的省心,在 shell 配置里加一些 npm 的 alias ,用起来也很顺手
    JounQin
        17
    JounQin  
       2022-07-08 08:25:58 +08:00 via iPhone
    https://yarnpkg.com/getting-started/editor-sdks/#vscode

    看文档,虽然我也觉得 `yarn@2+` 很垃圾
    kinghly
        18
    kinghly  
       2022-07-08 09:44:32 +08:00 via Android
    pnpm
    a632079
        19
    a632079  
       2022-07-08 14:59:12 +08:00 via iPhone
    你这个是 pnp 造成的问题吧,pnp 确实需要打个 sdk ,你做了就只需要把生成的文件添加到版控里,其他人拉下来正常安装包,正常编辑。

    要和其他包管理一样的体验,直接 yarnrc.yml 里吧 nodeLinker 改成 node_modules 或者 pnpm 就行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2784 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:03 · PVG 20:03 · LAX 04:03 · JFK 07:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.