ikaros-dev / ikaros

Dedicated to ACGMN's Content Management System (CMS). | 专注于ACGMN的内容管理系统(CMS)。

Home Page:https://ikaros.run

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Bug] 启动console,找不到@runikaros/api-client和@runikaros/shared

pencail opened this issue · comments

提问前查询

  • 我已经在 issues 列表 里查询过,并且没找到类似的问题。

组件

控制台 (console)

运行环境

版本:v0.11

报错相关的日志

[ERROR] [plugin vite:dep-scan] Failed to resolve entry for package "@runikaros/api-client". The package may have incorrect main/module/exports specified in its package.json.

....

[ERROR] [plugin vite:dep-scan] Failed to resolve entry for package "@runikaros/shared". The package may have incorrect main/module/exports specified in its package.json.

....

发生了什么

运行 pnpm install
pnpm dev

提示找不到@runikaros/api-client和@runikaros/shared
[ERROR] [plugin vite:dep-scan] Failed to resolve entry for package "@runikaros/api-client". The package may have incorrect main/module/exports specified in its package.json.

[ERROR] [plugin vite:dep-scan] Failed to resolve entry for package "@runikaros/shared". The package may have incorrect main/module/exports specified in its package.json.

预期是怎样

x.log

pnpm dev

console@0.0.0 dev /home/pencail/project/ikaros/console
vite

VITE v4.1.5 ready in 607 ms

➜ Local: http://localhost:3000/console/
➜ Network: use --host to expose
➜ press h to show help
✘ [ERROR] [plugin vite:dep-scan] Failed to resolve entry for package "@runikaros/api-client". The package may have incorrect main/module/exports specified in its package.json.

node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:1365:21:
  1365 │         let result = await callback({
       ╵                      ^

at packageEntryFailure (file:///home/pencail/project/ikaros/console/node_modules/.pnpm/vite@4.1.5_@types+node@18.11.19_sass@1.56.2/node_modules/vite/dist/node/chunks/dep-a6e90259.js:22005:11)
at resolvePackageEntry (file:///home/pencail/project/ikaros/console/node_modules/.pnpm/vite@4.1.5_@types+node@18.11.19_sass@1.56.2/node_modules/vite/dist/node/chunks/dep-a6e90259.js:22002:5)
at tryNodeResolve (file:///home/pencail/project/ikaros/console/node_modules/.pnpm/vite@4.1.5_@types+node@18.11.19_sass@1.56.2/node_modules/vite/dist/node/chunks/dep-a6e90259.js:21737:20)
at Context.resolveId (file:///home/pencail/project/ikaros/console/node_modules/.pnpm/vite@4.1.5_@types+node@18.11.19_sass@1.56.2/node_modules/vite/dist/node/chunks/dep-a6e90259.js:21488:28)
at Object.resolveId (file:///home/pencail/project/ikaros/console/node_modules/.pnpm/vite@4.1.5_@types+node@18.11.19_sass@1.56.2/node_modules/vite/dist/node/chunks/dep-a6e90259.js:41612:46)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async resolve (file:///home/pencail/project/ikaros/console/node_modules/.pnpm/vite@4.1.5_@types+node@18.11.19_sass@1.56.2/node_modules/vite/dist/node/chunks/dep-a6e90259.js:41840:26)
at async file:///home/pencail/project/ikaros/console/node_modules/.pnpm/vite@4.1.5_@types+node@18.11.19_sass@1.56.2/node_modules/vite/dist/node/chunks/dep-a6e90259.js:42014:34
at async requestCallbacks.on-resolve (/home/pencail/project/ikaros/console/node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:1365:22)
at async handleRequest (/home/pencail/project/ikaros/console/node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:727:13)

This error came from the "onResolve" callback registered here:

node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:1287:20:
  1287 │       let promise = setup({
       ╵                     ^

at setup (file:///home/pencail/project/ikaros/console/node_modules/.pnpm/vite@4.1.5_@types+node@18.11.19_sass@1.56.2/node_modules/vite/dist/node/chunks/dep-a6e90259.js:42004:19)
at handlePlugins (/home/pencail/project/ikaros/console/node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:1287:21)
at buildOrServeImpl (/home/pencail/project/ikaros/console/node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:974:5)
at Object.buildOrServe (/home/pencail/project/ikaros/console/node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:780:5)
at /home/pencail/project/ikaros/console/node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:2132:17
at new Promise (<anonymous>)
at Object.build (/home/pencail/project/ikaros/console/node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:2131:14)
at build (/home/pencail/project/ikaros/console/node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:1978:51)
at scanImports (file:///home/pencail/project/ikaros/console/node_modules/.pnpm/vite@4.1.5_@types+node@18.11.19_sass@1.56.2/node_modules/vite/dist/node/chunks/dep-a6e90259.js:41785:11)

The plugin "vite:dep-scan" was triggered by this import

src/utils/api-client.ts:22:7:
  22 │ } from '@runikaros/api-client';
     ╵        ~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] [plugin vite:dep-scan] Failed to resolve entry for package "@runikaros/shared". The package may have incorrect main/module/exports specified in its package.json.

node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:1365:21:
  1365 │         let result = await callback({
       ╵                      ^

at packageEntryFailure (file:///home/pencail/project/ikaros/console/node_modules/.pnpm/vite@4.1.5_@types+node@18.11.19_sass@1.56.2/node_modules/vite/dist/node/chunks/dep-a6e90259.js:22005:11)
at resolvePackageEntry (file:///home/pencail/project/ikaros/console/node_modules/.pnpm/vite@4.1.5_@types+node@18.11.19_sass@1.56.2/node_modules/vite/dist/node/chunks/dep-a6e90259.js:22002:5)
at tryNodeResolve (file:///home/pencail/project/ikaros/console/node_modules/.pnpm/vite@4.1.5_@types+node@18.11.19_sass@1.56.2/node_modules/vite/dist/node/chunks/dep-a6e90259.js:21737:20)
at Context.resolveId (file:///home/pencail/project/ikaros/console/node_modules/.pnpm/vite@4.1.5_@types+node@18.11.19_sass@1.56.2/node_modules/vite/dist/node/chunks/dep-a6e90259.js:21488:28)
at Object.resolveId (file:///home/pencail/project/ikaros/console/node_modules/.pnpm/vite@4.1.5_@types+node@18.11.19_sass@1.56.2/node_modules/vite/dist/node/chunks/dep-a6e90259.js:41612:46)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async resolve (file:///home/pencail/project/ikaros/console/node_modules/.pnpm/vite@4.1.5_@types+node@18.11.19_sass@1.56.2/node_modules/vite/dist/node/chunks/dep-a6e90259.js:41840:26)
at async file:///home/pencail/project/ikaros/console/node_modules/.pnpm/vite@4.1.5_@types+node@18.11.19_sass@1.56.2/node_modules/vite/dist/node/chunks/dep-a6e90259.js:42014:34
at async requestCallbacks.on-resolve (/home/pencail/project/ikaros/console/node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:1365:22)
at async handleRequest (/home/pencail/project/ikaros/console/node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:727:13)

This error came from the "onResolve" callback registered here:

node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:1287:20:
  1287 │       let promise = setup({
       ╵                     ^

at setup (file:///home/pencail/project/ikaros/console/node_modules/.pnpm/vite@4.1.5_@types+node@18.11.19_sass@1.56.2/node_modules/vite/dist/node/chunks/dep-a6e90259.js:42004:19)
at handlePlugins (/home/pencail/project/ikaros/console/node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:1287:21)
at buildOrServeImpl (/home/pencail/project/ikaros/console/node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:974:5)
at Object.buildOrServe (/home/pencail/project/ikaros/console/node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:780:5)
at /home/pencail/project/ikaros/console/node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:2132:17
at new Promise (<anonymous>)
at Object.build (/home/pencail/project/ikaros/console/node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:2131:14)
at build (/home/pencail/project/ikaros/console/node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:1978:51)
at scanImports (file:///home/pencail/project/ikaros/console/node_modules/.pnpm/vite@4.1.5_@types+node@18.11.19_sass@1.56.2/node_modules/vite/dist/node/chunks/dep-a6e90259.js:41785:11)

The plugin "vite:dep-scan" was triggered by this import

src/modules/dashboard/module.ts:1:29:
  1 │ import { definePlugin } from '@runikaros/shared';
    ╵                              ~~~~~~~~~~~~~~~~~~~

Build failed with 32 errors:
node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:1365:21: ERROR: [plugin: vite:dep-scan] Failed to resolve entry for package "@runikaros/api-client". The package may have incorrect main/module/exports specified in its package.json.
node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:1365:21: ERROR: [plugin: vite:dep-scan] Failed to resolve entry for package "@runikaros/api-client". The package may have incorrect main/module/exports specified in its package.json.
node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:1365:21: ERROR: [plugin: vite:dep-scan] Failed to resolve entry for package "@runikaros/api-client". The package may have incorrect main/module/exports specified in its package.json.
node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:1365:21: ERROR: [plugin: vite:dep-scan] Failed to resolve entry for package "@runikaros/api-client". The package may have incorrect main/module/exports specified in its package.json.
node_modules/.pnpm/esbuild@0.16.17/node_modules/esbuild/lib/main.js:1365:21: ERROR: [plugin: vite:dep-scan] Failed to resolve entry for package "@runikaros/api-client". The package may have incorrect main/module/exports specified in its package.json.
...

如何复现

将代码更新至最新,当前为v0.11,运行pnpm install pnpm dev 后。会出现报错

其它补充内容

解决方法:
pnpm --filter ./packages/shared install
pnpm --filter ./packages/shared build
pnpm --filter ./packages/api-client install
pnpm --filter ./packages/api-client build

您将要去提交PR吗?

  • 是的我想要提交个PR!

预计在v0.12修复,后续需要完成两个事情:

  • console模块的编译文档(或者Readme文档),需要添加对应的说明,说明在进行pnpm install前需要执行的命令,以及为什么需要执行这些命令,这些命令干了什么事情
  • package.json添加新的自定义命令类型,将这些前置命令统一执行,比如运行pnpm init 的时候,会自动运行这些前置命令和install命令

console模块命令下,运行pnpm install之前需要运行的前置命令:

pnpm --filter ./packages/shared install
pnpm --filter ./packages/shared build
pnpm --filter ./packages/api-client install
pnpm --filter ./packages/api-client build

已完成修复,请参考Ikaros Console Readme Doc