opensumi / core

🚀 A framework helps you quickly build AI Native IDE products.
https://opensumi.com
MIT License
3.01k stars 387 forks source link

[BUG] 插件开发功能不可用 #2986

Open fjb040911 opened 1 year ago

fjb040911 commented 1 year ago

描述你的问题(Describe the bug) 我们都有过VSCode插件的开发经验了。 然而按照官方文档 插件研发的引导,没有一个人能够把helloword成功跑出。 Windows 11 上和 Mac 上都试了,有着不同的错误

复现路径(To Reproduce)

Window11上的问题 engine无法被安装,步骤如下

  1. 安装cli:npm install @opensumi/cli -g
  2. 查看engine安装情况:sumi engine ls , 此时显示没有安装
  3. 查看远端engine版本信息:sumi engine ls-remote
  4. 安装: sumi engine use 2.26.3-rc-1690372336.0, 提示安装成功
  5. 查看engine安装情况:sumi engine ls , 此时显示没有安装 实际上在Windows上没有一个版本的engine能够被安装,多台机器都尝试过了,可以确认

Mac上的问题 enngine可被安装,但运行项目时候报错

  1. 按照上述步骤,可以成功安装 engine
  2. 初始化插件项目,并且运行了npm install
  3. 运行 npm run dev 或者 sumi watch均报错,但报错信息各不同,错误信息如下:
    npm run dev
    innerError Error: Cannot find module '../build/Debug/pty.node'
    Require stack:
    - /Users/fangjianbing/.sumi-cli/engines/2.26.3-rc-1690372336.0/node_modules/node-pty/lib/unixTerminal.js
    - /Users/fangjianbing/.sumi-cli/engines/2.26.3-rc-1690372336.0/node_modules/node-pty/lib/index.js
    - /Users/fangjianbing/.sumi-cli/engines/2.26.3-rc-1690372336.0/node_modules/@opensumi/ide-terminal-next/lib/node/pty.proxy.js
    - /Users/fangjianbing/.sumi-cli/engines/2.26.3-rc-1690372336.0/node_modules/@opensumi/ide-terminal-next/lib/node/pty.manager.js
    - /Users/fangjianbing/.sumi-cli/engines/2.26.3-rc-1690372336.0/node_modules/@opensumi/ide-terminal-next/lib/node/pty.js
    - /Users/fangjianbing/.sumi-cli/engines/2.26.3-rc-1690372336.0/node_modules/@opensumi/ide-terminal-next/lib/node/index.js
    - /Users/fangjianbing/.sumi-cli/engines/2.26.3-rc-1690372336.0/node_modules/@opensumi/ide-startup/lib/node/common-modules.js
    - /Users/fangjianbing/.sumi-cli/engines/2.26.3-rc-1690372336.0/node_modules/@opensumi/cli-engine/lib/node/modules.js
    - /Users/fangjianbing/.sumi-cli/engines/2.26.3-rc-1690372336.0/node_modules/@opensumi/cli-engine/lib/node/index.js
    - ...
    
    fangjianbingdeMacBook-Pro:test fangjianbing$ sumi watch
    /usr/local/lib/node_modules/@opensumi/cli/node_modules/loader-runner/lib/LoaderRunner.js:133
        if(isError) throw e;
                    ^

Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:69:19) at Object.createHash (node:crypto:133:10) at module.exports (/usr/local/lib/node_modules/@opensumi/cli/node_modules/webpack/lib/util/createHash.js:135:53) at NormalModule._initBuildHash (/usr/local/lib/node_modules/@opensumi/cli/node_modules/webpack/lib/NormalModule.js:417:16) at handleParseError (/usr/local/lib/node_modules/@opensumi/cli/node_modules/webpack/lib/NormalModule.js:471:10) at /usr/local/lib/node_modules/@opensumi/cli/node_modules/webpack/lib/NormalModule.js:503:5 at /usr/local/lib/node_modules/@opensumi/cli/node_modules/webpack/lib/NormalModule.js:358:12 at /usr/local/lib/node_modules/@opensumi/cli/node_modules/loader-runner/lib/LoaderRunner.js:373:3 at iterateNormalLoaders (/usr/local/lib/node_modules/@opensumi/cli/node_modules/loader-runner/lib/LoaderRunner.js:214:10) at iterateNormalLoaders (/usr/local/lib/node_modules/@opensumi/cli/node_modules/loader-runner/lib/LoaderRunner.js:221:10) { opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ], library: 'digital envelope routines', reason: 'unsupported', code: 'ERR_OSSL_EVP_UNSUPPORTED' }

Node.js v18.17.0



<!-
Steps to reproduce the behavior:
1. Go to '...'
7. Click on '....'
8. Scroll down to '....'
9. See error
-->

**预期表现(Expected behavior)**

<!-- A clear and concise description of what you expected to happen. -->

**环境信息(Environment)**

- OS: [e.g. macOS 11.2 Apple M1//Windows11]
- Browser: [e.g. chrome, safari, electron]
- OpenSumi Version: [e.g. 2.13.0]
erha19 commented 1 year ago

@fjb040911 可以先基于 VS Code 插件研发流程进行研发,标准 API 是支持的,另外目前也可以通过把研发的插件 link 到插件目录下,以 ide-startup 为例就是 ide-startup/extensions 里面。

MacOS 上的命令行看着像是 NodeJS 版本过高导致的安装问题,建议使用 14-16 并安装正式版本 engine ,如 2.26.5, 我测了一下是可用的。

Windows 估计是权限或安装上的问题,如果有报错的话找一下贴一下会方便我们排查并解决问题

fjb040911 commented 1 year ago

@fjb040911 可以先基于 VS Code 插件研发流程进行研发,标准 API 是支持的,另外目前也可以通过把研发的插件 link 到插件目录下,以 ide-startup 为例就是 ide-startup/extensions 里面。

MacOS 上的命令行看着像是 NodeJS 版本过高导致的安装问题,建议使用 14-16 并安装正式版本 engine ,如 2.26.5, 我测了一下是可用的。

Windows 估计是权限或安装上的问题,如果有报错的话找一下贴一下会方便我们排查并解决问题

感谢您的回复 image 如上图所示,Windows上用管理员进入cmd nodejs 版本 16 依然安装不成功 2.26.5

fjb040911 commented 1 year ago

image 这里首次安装一个版本时候,会爆报出一个警告,然后再报失败,但第二次安装同样版本就不会报警告直接报错,如图中所示,我尝试安装了2次2.26.5打印的日志有所不同。另外,我安装其他版本的engine都是同样的问题

fjb040911 commented 1 year ago

我验证了,基于VSCode1.7.* 或者更高版本打包出来的插件,在Opensumi中不支持