欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

龙芯(mips64)电脑安装NodeJS

程序员文章站 2022-07-16 23:31:59
背景 龙芯是国产的cpu,采用是mips架构,就类似大家熟知的x86、arm。 最近在一台龙芯电脑(系统是中兴新支点,Linux)上调试前端应用(electron),于是就需要安装NodeJS。 但是,NodeJS的官方资源就没有Linux mips 可直接使用的包,这就需要自己编译NodeJS。 ......

背景

龙芯是国产的cpu,采用是mips架构,就类似大家熟知的x86、arm。

最近在一台龙芯电脑(系统是中兴新支点,linux)上调试前端应用(electron),于是就需要安装nodejs。

但是,nodejs的官方资源就没有linux mips 可直接使用的包,这就需要自己编译nodejs。

插曲

网上有人提到使用 yum install -y nodejs 就可以安装,我试验过也确实可以,但是它安装的版本是 v0.12.4 ,这个版本太低,不符合我的应用要求。

安装步骤

下载源码:

1、配置

./configure

2、编译

make

3、安装

make install

node-v10.0.0(失败)

最开始选择编译的是v10.0.0版本,但整个过程出现了两个问题。

问题一:unrecognized command line option ‘-m64’

在编译过程中,当编译到openssl这个库时,就会报上面的错。

网上又有人说,可以通过排除编译这个库来解决,也即是在配置步骤加个 --without-ssl 参数。

./configure  --without-ssl

结果确实可以编译通过,也能安装,node这命令也能用,但npm就不行!

问题二:error [err_no_crypto]: node.js is not compiled with openssl crypto support

在使用npm命令就出了这问题。

这就存在一个矛盾:加上 openssl 无法编译通过,不加上 npm 就用不了。

node-v4.4.3(无用)

紧接着换了个较低的版本编译。

ps:有一些文件需要做微小的调整才能正确编译,详情查看

这么安装后,node和npm都能正常使用了,但是在前端工程安装依赖时候,问题又来了:node版本太低了,很多依赖装不了(基本要求v6以上),只能宣告这node版本没用。

node-v8.16.1(勉强可用)

于是又换了个不高不低的版本,这个版本也需要像 node-v4.4.3 调整一些文件。

编译正常,安装正常,可是使用使用又出现一些问题。

问题:typeerror: log.gauge.isenabled is not a function

于是我找到代码位置,修改其中代码来规避这些问题。修改时,修改一处,另一处又报错,大概是改了5处才使得 npm 的命令不报错,才勉强可用。

总结

龙芯作为国产的cpu,绝大多数软件没有兼容版本,特别是国外的软件或开源项目。它太小众了,以如今的状态根本没有形成软件生态的可能,即便是想在上面开发软件,也是困难多多。