此适配基于龙芯+uos环境,可见我上一篇文章https://blog.csdn.net/qq_33174891/article/details/120722310
说明:龙芯麒麟v10 node可安装成功,可运行electron helloworld,但由于实际项目对node版本要求10+,麒麟v10已适配将近3天。不再进行环境搭建,使用uos打包后的文件进行适配。
先说麒麟v10环境搭建,这里只说过程,这两天的适配过程踩的坑,并未成功。有想研究的可以深入再研究
1.node安装
1.1 下载龙芯开源社区node12安装包。麒麟系统双击是使用麒麟应用商店打开,差的一笔,一直卡在商店,只能命令行安装 sudo dpkg -i 文件名.deb
安装后node -v 发现提示错误,通过百度和查看开源社区说明是openssl版本过低
到这里需要进行openssl升级,可以到openssl.org官网下载openssl1.1.1版本,通过源码进行编译。编译安装时注意使用./Configure linux-mips64 make make install 安装完成后到/usr/local/lib 将四个so文件复制到/usr/lib目录下 命令行输入openssl version进行验证可以看到1.1.1版本安装成功
openssl升级后继续输入node -v 发现依然报错提示需要glibc-2.28
之后需要升级glibc2.28,升级过程中需要先安装dison ,将/etc/ld.so.conf拷贝到安装目录的etc下
提示glibc为系统底层库,升级gblic很容易造成系统命令都无法使用,开机启动不了。笔者升级失败了一次,后重装的系统,之后也是升级失败,导致源码编译Node8版本也一直失败。
1.2 源码安装node 8
参考文章:龙芯(mips64)电脑安装NodeJS - 海角在眼前 - 博客园
node 8可以安装成功
2. electron安装
electron参考uos中的electron安装,安装后运行项目时发现有太多依赖库要求node>10版本
3. helloworld
下载helloworld代码,npm start发现报错 提示给chrome-sandox 添加4755权限和所属用户为root
sudo chmod 4755 chrome-sandox sudo chown root chrome-sandox
再次执行npm start可正常运行
4. 线上electron项目适配
再node安装一直失败的时候我就想到直接从uos打包,然后把打包后的文件拿来运行应该就可以吧。于是把uos打包后的文件拿到麒麟系统,结果发现文件双击提示缺失动态库,给文件夹777权限,命令行依然显示不是可执行文件。鼓捣半天,没法跑起来。玛德,麒麟系统实在垃圾。
百度搜索时候看到有个帖子说不同操作系统打包的到不同操作系统无法使用,几十架构一样。没办法只能在麒麟系统配置环境。
后来又研究了一天,直到出现helloworld的错误提示,才想到是不是uos打包的也需要4755权限。
解决方法:在uos上打包后将文件拷贝到麒麟系统,对***(项目名称)添加4755权限,对chrome-sandbox添加4755权限,设置所属用户为root sudo chown root ./chrome-sandbox
运行***时,添加参数 --no-sandbox(可以不用加此参数,当启动不起来时添加)
需要将***文件夹放入文件系统,在/data目录下不能运行
至此终于适配完成
如果本文有帮到你,可以给作者来点打赏