用的是个CentOS7的hyperv虚机.
- 下载源码
目前最新的release是theia-1.16.0,github下载源码
wget https://github.com/eclipse-theia/theia/archive/refs/tags/v1.16.0.zip
解压备用
- 环境准备
编译过程会用到C++17,CentOS7默认带的是GCC 4.8.5,支持不了的,至少得GCC5以上的版本,因此要升级GCC,直接升整个工具链比较稳妥。
yum install centos-release-scl
yum install devtoolset-9-toolchain
scl enable devtoolset-9 bash
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
其他依赖(github文档上有的)
yum install libX11-devel.x86_64 libxkbfile-devel.x86_64 libsecret-devel
安装nodejs和yarn:
nodejs要求12.14以上,但在13以下
curl --silent --location https://rpm.nodesource.com/setup_12.x | sudo bash -
curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
yum install nodejs
#我这显示装的12.22
yum install yarn
- 编译
cd theia-1.16.0/
yarn
- 启动
由于默认监听的是127.0.0.1这个地址,只能从本地访问,所以不照github上说的那么干。
cd examples/browser
yarn theia start --hostname 0.0.0.0 --port 8000 --plugins=local-dir:../../plugins
或者修改package.json:
"start": "theia start --hostname 0.0.0.0 --port 8000 --plugins=local-dir:../../plugins",
然后再直接:
yarn run start
-
然后就能从宿主机上访问了:
-
暂时没找到如何限制它访问服务器目录。没权限的文件还是可以只读访问的,不好。