koishijs / boilerplate

An example repository for Koishi bot development.
15 stars 10 forks source link

将 docker 的 yarn 更新到 v3 #21

Closed ahdg6 closed 10 months ago

ahdg6 commented 1 year ago

图片

ilharp commented 1 year ago
  {
    "name": "@root/koishi",
    "version": "1.0.0",
    "private": true,
+   "packageManager": "yarn@1.22.19",
    "workspaces": [

https://github.com/koishijs/koishi/blob/bc9bbdbd2bc22d49e89a1afd2b539700bda78e39/package.json#L5

Koishi 使用 Yarn v1.22.19 作为其指定的包管理器,这是基于 Koishi 多方面的需求而指定的。更换包管理器会使其中的一些需求无法满足,进而造成功能缺失。

ahdg6 commented 1 year ago

图片

ilharp commented 1 year ago

Koishi 指定了 Yarn v1.22.19 作为其包管理器。在开发 Koishi.js 管理的项目的时候,如果你启用了 Corepack,你将无法使用 Yarn v1.22.19 以外的包管理器进行包管理。

更换包管理器会造成某些特定需求的无法满足,进而造成功能缺失。如果有人愿意推进 Docker 更换其所使用的包管理器,请在本项目未来可见的生命周期内持续维护和处理任何由于包管理器的更换所可能导致的功能缺失。在满足了这个条件的情况下,可以更换其所使用的包管理器。

ahdg6 commented 1 year ago

https://github.com/koishijs/boilerplate/issues/17 都变 node18 了怎么可能没启用 corepack 对于 yarn v3 你 https://github.com/koishijs/boilerplate/blob/master/.github/workflows/prepare.sh 里边都标注用类 v1 结构了,而且目前据梦梦所说其他整合包都是 yarn3 了,docker 更起来应该不会有什么压力

ahdg6 commented 1 year ago

Koishi 指定了 Yarn v1.22.19 作为其包管理器。在开发 Koishi.js 管理的项目的时候,如果你启用了 Corepack,你将无法使用 Yarn v1.22.19 以外的包管理器进行包管理。

更换包管理器会造成某些特定需求的无法满足,进而造成功能缺失。如果有人愿意推进 Docker 更换其所使用的包管理器,请在本项目未来可见的生命周期内持续维护和处理任何由于包管理器的更换所可能导致的功能缺失。在满足了这个条件的情况下,可以更换其所使用的包管理器。

还有我不知道你是习惯于这样子说话还是啥,你这我很难抓住你要讲的重点,https://github.com/koishijs/boilerplate/blob/d90657b69dec69cc2ec74ed6ddea82e7e7e8434c/.github/workflows/build.yml#L73 据我来看,该仓库目前本身就有向 yarn v3 迁移的倾向,而且我也是问过才发 issue 的,我真的不知道你的疑虑在哪

ilharp commented 1 year ago

17 都变 node18 了怎么可能没启用 corepack

Corepack 并非自动启用。


对于 yarn v3 你 master/.github/workflows/prepare.sh 里边都标注用类 v1 结构了

我无意在此 issue 探讨其他项目更换包管理器后曾经遇到过的问题。问题的数量过多,其程度并非几个小时可以介绍完毕。你所看到的配置项的修改只是数个问题中的一个问题的针对性的解决方法。此外还有其他多个问题我们都已解决,解决这些问题也花费了巨大的成本。


而且目前据梦梦所说其他整合包都是 yarn3 了

目前 Koishi.js 所管理的整合包只有本项目(koishijs/boilerplate)一个。


docker 更起来应该不会有什么压力

我的看法在上文中已明确:

如果有人愿意推进 Docker 更换其所使用的包管理器,请在本项目未来可见的生命周期内持续维护和处理任何由于包管理器的更换所可能导致的功能缺失。在满足了这个条件的情况下,可以更换其所使用的包管理器。

如果你愿意推进 Docker 更换其所使用的包管理器,那么请在本项目未来可见的生命周期内持续维护和处理任何由于包管理器的更换所可能导致的功能缺失。如果你愿意的话,我认为可以更换包管理器。


还有我不知道你是习惯于这样子说话还是啥,你这我很难抓住你要讲的重点,

如果你无法立即理解我所说的话的话,可以尝试多次阅读。


我真的不知道你的疑虑在哪

你可能并未处理过由于包管理器的更换所可能导致的功能缺失,这是非常正常的。我只是在向你介绍在未来可能出现的这一情况。如果你愿意维护和处理,我当然支持更换包管理器。

ahdg6 commented 1 year ago

所以说,兄弟,你这样讲自己立场就很清楚嘛,你之前那句话就有一种新闻媒体那种官话感,感觉啥都说了但又感觉啥都没说,社区中需要的更多是贴近生活语言的有效沟通,咱确实是顶不住这种奇奇怪怪的句式结构(

ilharp commented 1 year ago

我之前没有直接地问你是否愿意维护,是因为我确实不太清楚你是否有维护更新至 Yarn v3 后的打包逻辑的打算。

目前来讲,只要有任意一个人愿意持续地维护包管理器安装和打包的相关逻辑,并修复出现的问题,我就支持更换至最新版本,这样遇到问题也能够及时地得到修复。

shigma commented 1 year ago

@Anillc 有没有看法?

shigma commented 1 year ago

请尝试最新版本 1.8.2,看看能否使用。