龙芯(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 机器,安 ...
随机推荐
- 对于Python函数与方法,你可能存在些误解
欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...
- 【HUAWEI Mate30】抽奖啦!华为IoT新福利上线!
华为云OceanConnect IoT云服务包括应用管理.设备管理.系统管理等能力,实现统一安全的网络接入.各种终端的灵活适配.海量数据的采集分析,从而实现新价值的创造. 华为云OceanConnec ...
- c获取shell中的参数
问题背景 在Linux中我们会使用到shell,来完成输入参数的获取,就如同下面的形式,这种形式在进行多语言编程和调用有着非常重要的作用 一.传递的过程 1.1 原理模型如下: 1.1.1 可执行sh ...
- 用workspace管理工程,并解决多静态库依赖
from:http://www.cnblogs.com/perryxiong/p/3759818.html 最近我在项目中遇到一些工程之间的管理问题. 模型: 其中 库A 是一个公共的基础静态库, ...
- iOS开发-CoreMotion框架
转自: CoreMotion是一个专门处理Motion的框架,其中包含了两个部分 加速度计和陀螺仪,在iOS4之前加速度计是由 UIAccelerometer 类 来负责采集数据,现在一般都是用Cor ...
- HDU3191-How many paths are there(次短路的长度及其个数)
oooccc1 is a Software Engineer who has to ride to the work place every Monday through Friday. For a ...
- F#周报2019年第50期
新闻 Azure Functions 3.0系统上线 GC性能架构--第1部分 ConfigureAwait问题解答 介绍System.Threading.Channels Windows Serve ...
- C++使用libcurl做HttpClient 和 curl_easy_setopt
curl_easy_setopt 参数设置 https://curl.haxx.se/libcurl/c/curl_easy_setopt.html 使用libcurl做HttpClient #if ...
- 合成语音 TTS
弄了一天的合成语音 感觉好难受,明明这么简单的事情非弄得要这么复杂.... 引入命名空间 或者 导入命名空间 代码: using System; using System.Collections.Ge ...
- 【JS】403- JavaScript 工具函数大全(新)
前言 一线大厂笔试题灵感来源 目录: 第一部分:数组 第二部分:函数 第三部分:字符串 第四部分:对象 第五部分:数字 第六部分:浏览器操作及其它 筛选自以下两篇文章: <127 Helpful ...