使用Theia——构建你自己的IDE

  • 时间:
  • 浏览:0
  • 来源:大发时时彩_时时彩高手计划_大发时时彩高手计划

上一篇:Theia架构

构建你自己的IDE

  本指南将教你如何构建你自己的Theia应用。

必要条件

  你前要安装node 10版本(译者:事实上最新的node稳定版即可):

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.5/install.sh | bash
nvm install 10

  以及yarn:

  还前要确保已安装python 2.x,可通过python --version来检查。

安装

  首先请创建一俩个空目录,就让切换到什儿 目录下:

  在什儿 目录下创建package.json

{
  "private": true,
  "dependencies": {
    "typescript": "latest",
    "@theia/typescript": "next",
    "@theia/navigator": "next",
    "@theia/terminal": "next",
    "@theia/outline-view": "next",
    "@theia/preferences": "next",
    "@theia/messages": "next",
    "@theia/git": "next",
    "@theia/file-search": "next",
    "@theia/markers": "next",
    "@theia/preview": "next",
    "@theia/callhierarchy": "next",
    "@theia/merge-conflicts": "next",
    "@theia/search-in-workspace": "next",
    "@theia/json": "next",
    "@theia/textmate-grammars": "next",
    "@theia/mini-browser": "next"
  },
  "devDependencies": {
    "@theia/cli": "next"
  }
}

  简而言之,Theia应用线程池池和扩展包不是 Node.js包。每一俩个包都所含一俩个package.json文件,上方列出了包的有些元数据,如name、version、运行时和构建时的依赖关系等。

  亲戚亲戚亲们来看看什儿 包的内容:

  • nameversion被省略了,原困 分析亲戚亲戚亲们不打算将它作为一俩个依赖项来使用。共同它被标记为private,原困 分析不打算将它发布为一俩个独立的Node.js包。
  • 亲戚亲戚亲们在dependencies中列出了所有运行时依赖的扩展包,如@theia/navigator
    • 有些扩展包前要额外的工具来进行安装,之类,@theia/python前要Python Language Server来安装。此时你前要参考相应的文档。
    • 都还能能 在这里查看所有已发布的扩展包。
  • 亲戚亲戚亲们将@theis/cli列为构建时的依赖项,它提供了构建和运行应用线程池池的脚本。

构建

  首先,安装所有的依赖项。

  就让,使用Theia CLI来构建应用线程池池。

  yarn在亲戚亲戚亲们应用线程池池的上下文中查找由@theia/cli提供的theia可执行文件,就让使用theia执行build命令。这原困 分析前要有些时间,原困 分析默认情況下应用线程池池会在production模式下进行构建,即它会进行模糊防止和最小化防止。

运行

  构建完成就让,亲戚亲戚亲们就都还能能 启动应用线程池池:

  你都还能能 在命令的第一俩个参数中指定一俩个workspace路径,--hostname--port选项用来指定部署的主机名和端口号。之类下面的命令在指定的位置和端口号上打开/workspace

yarn theia start /my-workspace --hostname 0.0.0.0 --port 500500

  在终端中,你应该看得人Theia应用线程池池原困 分析启动并监听:

   打开浏览器并输入上方显示的地址,你就都还能能 打开应用线程池池了。

故障排除

通过代理构建本地依赖项

  原困 分析你通过代理运行yarn命令,在构建本地依赖项时有原困 分析会遇到有些难题(如onigurma),之类下面的什儿 错误:

[4/4] Building fresh packages...
[1/9]  XXXXX
[2/9]  XXXXX
[3/9]  XXXXX
[4/9]  XXXXX
error /theiaide/node_modules/XXXXX: Command failed.
Exit code: 1
Command: node-gyp rebuild
Arguments:
Directory: /theiaide/node_modules/XXXXX
Output:
gyp info it worked if it ends with ok
gyp info using node-gyp@3.8.0
gyp info using node@8.15.0 | linux | x64
gyp http GET https://nodejs.org/download/release/v8.15.0/node-v8.15.0-headers.tar.gz
gyp WARN install got an error, rolling back install
gyp ERR! configure error
gyp ERR! stack Error: read ECONNRESET
gyp ERR! stack at TLSWrap.onread (net.js:622:25)
gyp ERR! System Linux 3.10.0-862.11.6.el7.x86_64
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /theiaide/node_modules/XXXXX
gyp ERR! node -v v8.15.0

  这原困 分析node-gyp在system/NPM的代理设置中不工作。原困 分析遇到什儿 情況,都还能能 通过错误堆栈中提供的链接下载node-headers文件(如上方例子中的https://nodejs.org/download/release/v8.15.0/node-v8.15.0-headers.tar.gz),就让使用下面的命令进行构建:

npm_config_tarball=/path/to/node-v8.15.0-headers.tar.gz yarn install

原文地址:https://theia-ide.org/docs/composing_applications/