龙芯(mips64)电脑安装NodeJS_冘醉_前端开发者

背景

背景背景背景

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

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

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

插曲

插曲插曲插曲

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

安装步骤

安装步骤安装步骤安装步骤

下载源码:https://nodejs.org/download/release/v10.0.0/

https://nodejs.org/download/release/v10.0.0/

1、配置

1、配置1、配置

./configure
./configure

2、编译

2、编译2、编译

make
make

make

3、安装

3、安装3、安装

make install
make install

makeinstall

node-v10.0.0(失败)

node-v10.0.0(失败)node-v10.0.0(失败)node-v10.0.0(失败)

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

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

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

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

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

./configure  --without-ssl
./configure  --without-ssl

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

问题二:Error [ERR_NO_CRYPTO]: Node.js is not compiled with OpenSSL crypto support

问题二:Error [ERR_NO_CRYPTO]: Node.js is not compiled with OpenSSL crypto support问题二:Error [ERR_NO_CRYPTO]: Node.js is not compiled with OpenSSL crypto support

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

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

node-v4.4.3(无用)

node-v4.4.3(无用)node-v4.4.3(无用)node-v4.4.3(无用)

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

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

https://blog.csdn.net/weixin_40065369/article/details/85687482

https://blog.csdn.net/weixin_40065369/article/details/85687482

http://www.loongnix.org/index.php

http://www.loongnix.org/index.php

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

node-v8.16.1(勉强可用)

node-v8.16.1(勉强可用)node-v8.16.1(勉强可用)node-v8.16.1(勉强可用)

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

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

1、修改 configure 文件。

1、修改 configure 文件。1、修改 configure 文件。

'__MIPSEL__'  : 'mipsel'
'__MIPSEL__'  : 'mipsel'

to

'__MIPSEL__'  : 'mips64el'
'__MIPSEL__'  : 'mips64el'

2、配置

2、配置2、配置

./configure
./configure

3、编译

3、编译3、编译

make -j 8
make -j 8

make8

4、安装

4、安装4、安装

sudo make install
sudo make install

sudomakeinstall

问题:

问题:问题:

Makefile:88: recipe for target ‘node’ failed
make: *** [node] 段错误 (core dumped)
换个路径较短的目录。有可能是你命令路径太长了。

Makefile:88: recipe for target ‘node’ failedMakefile:88: recipe for target ‘node’ failed
make: *** [node] 段错误 (core dumped)make: *** [node] 段错误 (core dumped)

问题:TypeError: log.gauge.isEnabled is not a function

问题:TypeError: log.gauge.isEnabled is not a function问题:TypeError: log.gauge.isEnabled is not a function

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

总结

总结总结总结

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

» 本文来自:前端开发者 » 《龙芯(mips64)电脑安装NodeJS_冘醉_前端开发者》
» 本文链接地址:https://www.rokub.com/73385.html
» 您也可以订阅本站:https://www.rokub.com
赞(0)
64K

评论 抢沙发

评论前必须登录!