龙芯(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/
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(无用)
紧接着换了个较低的版本编译。
有一些文件需要做微小的调整才能正确编译,详情查看:
https://blog.csdn.net/weixin_40065369/article/details/85687482
http://www.loongnix.org/index.php
这么安装后,node和npm都能正常使用了,但是在前端工程安装依赖时候,问题又来了:node版本太低了,很多依赖装不了(基本要求v6以上),只能宣告这node版本没用。
node-v8.16.1(勉强可用)
于是又换了个不高不低的版本,这个版本也需要像 node-v4.4.3 调整一些文件。
编译正常,安装正常,可是使用使用又出现一些问题。
1、修改 configure 文件。
'__MIPSEL__' : 'mipsel'
to
'__MIPSEL__' : 'mips64el'
2、配置
./configure
3、编译
make -j
4、安装
sudo make install
问题:
Makefile:88: recipe for target 'node' failed
make: *** [node] 段错误 (core dumped)
换个路径较短的目录。有可能是你命令路径太长了。
问题:TypeError: log.gauge.isEnabled is not a function
于是我找到代码位置,修改其中代码来规避这些问题。修改时,修改一处,另一处又报错,大概是改了5处才使得 npm 的命令不报错,才勉强可用。
总结
龙芯作为国产的cpu,绝大多数软件没有兼容版本,特别是国外的软件或开源项目。它太小众了,以如今的状态根本没有形成软件生态的可能,即便是想在上面开发软件,也是困难多多。
龙芯(mips64)电脑安装NodeJS的更多相关文章
- 龙芯 3B1500 Fedora28 安装笔记
版权声明:原创文章,未经博主允许不得转载 龙芯 3A4000 已经发布,十年前的 3B1500 早就落伍了.但我还是打算把它作为寒假刷 ACM 题的主力机 并将此当作年后收到 4000 的预习. 龙芯 ...
- 龙芯 3A4000 Fedora28 安装笔记
版权声明:原创文章,未经博主允许不得转载 3A4000用起来性能显然已经非常优秀,和朋友手上的3A3000相比有很大的提升(果然网上水分超多的什么测评看看呵呵就好).从零开始却用一半的核数和更低的制程 ...
- 如何在国产龙芯架构平台上运行c/c++、java、nodejs等编程语言
高能预警:本文内容过于硬核,涉及编译器原理.cpu指令集.机器码.编程语言原理.跨平台原理等计算机专业基础知识,建议具有c.c++.java.nodejs等多种编程语言开发能力,且实战经验丰富的资深开 ...
- 龙芯 3A4000 安装 Debian stable
2022-01-17 版权声明:原创文章,未经博主允许不得转载 3A5000 开始,龙芯转向 loongarch ,新的架构虽然甩掉了历史包袱,但也需要一段时间来积累生态.在这半年多的时间里, loo ...
- 龙芯fedora28日常生存指南
2021-01-30 v0.0.5 从0.0.1开始改了非常多,一月余时间的花费渴望为其他人提供一点帮助,能够快速上手. 这主要是这一年来我从3B1500到3A4000再到福珑2的日常使用记录,是之前 ...
- [知乎]这可能是最全面的龙芯3A3000处理器评测
这可能是最全面的龙芯3A3000处理器评测 第一千零一个人 已关注 蓬岸 Dr.Quest . https://zhuanlan.zhihu.com/p/50716952 这里面链接很全. 立党 ...
- 【转帖】龙芯3A3000处理器深度评测:和Intel、AMD差距巨大
龙芯3A3000处理器深度评测:和Intel.AMD差距巨大 https://www.eefocus.com/mcu-dsp/424623/r0 作者非计算机科班毕业 让我汗颜. 我计算机毕业都不知道 ...
- 国产龙芯3A3000处理器评测:与英特尔差距明显
国产龙芯3A3000处理器评测:与英特尔差距明显 国产龙芯3A3000处理器评测:与英特尔差距明显 新浪财经APP缩小字体放大字体收藏微博微信分享579 新酷产品第一时间免费试玩,还有众多优质达人分享 ...
- 测试龙芯 LoongArch .NET之 使用 FastTunnel 做内网穿透远程计算机
龙芯3A5000 已经上市,与龙芯3A5000配套的三大编译器GCC.LLVM.GoLang和三大虚拟机Java.JavaScript..NET均已完成开发,从老伙计哪里搞来一台3A5000 机器,安 ...
随机推荐
- 【HC资料合集】2019华为全联接大会主题资料一站式汇总,免费下载!
HUAWEI CONNECT 2019 大会主题演讲.峰会演讲精彩资料速递,欢迎下载查阅. 主题 资料下载(登录后可下载附件) 演讲者 [主题演讲资料]2019华为全联接大会day 2 共筑高品质 ...
- Java 基于Spire.Cloud.Excel 将Excel转为PDF
Spire.Cloud.Excel Sdk 提供GeneralApi接口和WorkbookApi接口,支持将本地Excel和云端Excel文档转换为ODS, PDF, XPS, PCL, PS等格式. ...
- luogu P2704 [NOI2001]炮兵阵地
题目描述 司令部的将军们打算在NM的网格地图上部署他们的炮兵部队.一个NM的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也可能是平原(用"P" ...
- Ubuntu 18.04 环境下 kubernetes v1.16.2 单机部署说明
一.安装环境 本次部署使用阿里云ECS 操作系统: Ubuntu 18.04 64位 实例规格: ecs.c6.large 2U4G 二.kubernetes 版本 k8s.gcr.io/kube- ...
- HYSBZ-2002弹飞绵羊
某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏.游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当 ...
- 洛谷 题解 P2296 【寻找道路】
Problem P2296 [寻找道路] solution 首先声明,这题我用了spfa,而: 关于spfa:它死了. 杀手: NOI 2018−T1 出题人 感谢出题人,没有卡spfa 用时: 20 ...
- 搭建本地YUM仓库
YUM介绍 yum(yellow dog updater modified)为多个Linux发行版的软件包管理工具,Redhat RHEL CentOS Fedora YUM主要用于自动安装,升级rp ...
- 重学前端--js是面向对象还是基于对象?
重学前端-面向对象 跟着winter老师一起,重新认识前端的知识框架 js面向对象或基于对象编程 以前感觉这两个在本质上没有什么区别,面向对象和基于对象都是对一个抽象的对象拥有一系列的行为和状态,本质 ...
- 如何用Jmeter做接口测试
Jmeter介绍&测试准备: Jmeter介绍:Jmeter是软件行业里面比较常用的接口.性能测试工具,下面介绍下如何用Jmeter做接口测试以及如何用它连接MySQL数据库. 前期准备:测试 ...
- hdu 6308 Time Zone (模拟+字符串处理)
Time Zone Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...