🍃基于Linux Kylin10 系统的kibana源码编译(利用淘宝源)

🍂前言

简单记录一下在Linux Kylin10系统里源码编译kibana,期间也踩了不少坑,仅供大家参考。

🍂一、编译环境

kibana版本:7.17.7

服务器系统:4.19.90-23.8.v2101.ky10.aarch64

🍂二、安装依赖包

需要安装 glibcg++, makebasionPython等。(因为当时我是就升级了这么多的依赖),node 的版本也要对应。

1.首先查看node版本,kibana7.17.7用的是node16.17.1

perl 复制代码
nvm use

nvm无效的话,通过curl或wget安装

bash 复制代码
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

source ~/.bashrc 重启环境

nvm --version

nvm install v16.19.1   安装node

nvm use v16.17.1   使用指定版本node

2.按照以下命令即可升级make

go 复制代码
wget http://ftp.gnu.org/pub/gnu/make/make-4.3.tar.gz
tar -zxvf make-4.3.tar.gz 
cd make-4.3 
./configure --prefix=/usr
make && make install
make -v

3.按照以下命令即可升级basion

bash 复制代码
wget http://ftp.gnu.org/pub/gnu/bison/bison-3.0.5.tar.gz
tar -zxvf bison-3.0.5.tar.gz 
cd bison-3.0.5
./configure
make && make install
basin --version

4、按照以下命令即可升级python

bash 复制代码
yum install -y python2   安装python  如果有,可以忽略此步骤

yum install -y python3   安装python3

**下载新版本python**
wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz

tar -zxvf Python-2.7.18.tgz

cd Python-2.7.18

./configure --prefix=/usr

make && make install

python --version 查看版本

下载新版本python3
wget https://www.python.org/ftp/python/3.8.8/Python-3.8.8.tgz

tar -zxvf Python-3.8.8.tgz

cd Python-3.8.8

./configure

make && make install

python3 -V    查看python3版本

5.在升级 glibcg++的时候踩了很多的坑,最终采用 openeuler 去解决

首先vi /etc/yum.repo.d/openEuler.repo 如果没有这个文件直接新建

bash 复制代码
vi /etc/yum.repo.d/openEuler.repo 

将下面的代码复制进去

ini 复制代码
[osrepo]
name=osrepo
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/everything/aarch64/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/everything/aarch64/RPM-GPG-KEY-openEuler

执行yum install ocaml-dune

yum install ocaml-dune  

6.此时所有用到的依赖已经升级完毕,可直接运行

sql 复制代码
yarn start    
或
yarn start --run-examples

🍂三、修改代码部分

(1.) src/dev/build/lib/platform.ts文件

修改前:

javascript 复制代码
getNodeArch() {
         return `${name}-x64`;
         }
     getBuildName() {
         return `${name}-x86_64`;
         }

修改后:

javascript 复制代码
getNodeArch() {
         return `${name}-arm64`;
         }
     getBuildName() {
         return `${name}-aarch64`;
         }

(2.)src/dev/build/tasks/os_packages/create_os_package_tasks.ts文件

修改前:

arduino 复制代码
async run(config, log, build) {
         await runFpm(config, log, build, 'rpm', [
         '--architecture', 'x86_64',
         '--rpm-os', 'linux'
         ]);

         }

修改后:

arduino 复制代码
async run(config, log, build) {
         await runFpm(config, log, build, 'rpm', [
         '--architecture', 'aarch64',
         '--rpm-os', 'linux'
         ]);

         }

(3.)src/dev/ci_setup/setup_env.sh文件

修改前:

bash 复制代码
nodeUrl="https://us-central1-elastic-kibana-184716.cloudfunctions.net/kibana-ci-proxy-cache/dist/v$nodeVersion/node-v$nodeVersion-${OS}-${classifier}"

修改后:

bash 复制代码
nodeUrl="https://npm.taobao.org/mirrors/node/v$nodeVersion/node-v$nodeVersion-${OS}-${classifier}"

(4.)src/dev/build/tasks/nodejs/node_download_info.ts文件

修改前:

ini 复制代码
const url = `https://us-central1-elastic-kibana-184716.cloudfunctions.net/kibana-ci-proxy-cache/dist/v${version}/${downloadName}`;

修改后:

ini 复制代码
const url = `https://npm.taobao.org/mirrors/node/v${version}/${downloadName}`;

(5.)src/dev/build/tasks/nodejs/node_shasums.ts文件

修改前:

ini 复制代码
const url = `https://us-central1-elastic-kibana-184716.cloudfunctions.net/kibana-ci-proxy-cache/dist/v${nodeVersion}/SHASUMS256.txt`;

修改后:

ini 复制代码
const url = `https://npm.taobao.org/mirrors/node/v${nodeVersion}/SHASUMS256.txt`;

(6.)删除根目录下package.json里面的iedriver这行依赖,淘宝源里没有这个.如果没有就不需要了

综上所述就是一个理论:


us-central1-elastic-kibana-184716.cloudfunctions.net/kibana-ci-p...

全部换成

npm.taobao.org/mirrors/nod...

原因就是之前地址访问不到,导致执行yarn build --skip-os-packages的时候会连接超时而无法下载

🍂四、设置淘宝源,下载所需的依赖包和编译,执行以下命令

arduino 复制代码
npm config set registry https://registry.npm.taobao.org/

yarn config set registry https://registry.npm.taobao.org/

yarn config set "chromedriver_cdnurl" "https://npm.taobao.org/mirrors/chromedriver"

npm config set puppeteer_download_host=https://npm.taobao.org/mirrors

Bootstrap Kibana 安装所有依赖项其他命令:

css 复制代码
yarn kbn bootstrap

yarn kbn bootstrap --offline   可离线安装

yarn kbn bootstrap --force-install    强制安装

yarn kbn clean     切换不同版本npm需要运行

yarn cache clean      遇到故障后清理缓存
相关推荐
明辉光焱10 分钟前
[Electron]总结:如何创建Electron+Element Plus的项目
前端·javascript·electron
YRr YRr25 分钟前
ubuntu ros 解决建完图后 保存的地图非常小的问题
linux·运维·ubuntu
牧码岛31 分钟前
Web前端之汉字排序、sort与localeCompare的介绍、编码顺序与字典顺序的区别
前端·javascript·web·web前端
开心工作室_kaic1 小时前
ssm111基于MVC的舞蹈网站的设计与实现+vue(论文+源码)_kaic
前端·vue.js·mvc
脸ル粉嘟嘟1 小时前
常用命令之Linux&Oracle&Hive&Python
linux·hive·oracle
Wils0nEdwards1 小时前
Leetcode 整数转罗马数字
linux·python·leetcode
晨曦_子画1 小时前
用于在 .NET 中构建 Web API 的 FastEndpoints 入门
前端·.net
慧都小妮子1 小时前
Spire.PDF for .NET【页面设置】演示:在 PDF 文件中添加图像作为页面背景
前端·pdf·.net·spire.pdf
咔咔库奇1 小时前
ES6基础
前端·javascript·es6