龙芯(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 机器,安 ...
随机推荐
- luogu P1951 收费站_NOI导刊2009提高(2) |二分答案+最短路
题目描述 在某个遥远的国家里,有n个城市.编号为1,2,3,-,n. 这个国家的政府修建了m条双向的公路.每条公路连接着两个城市.沿着某条公路,开车从一个城市到另一个城市,需要花费一定的汽油. 开车每 ...
- ecosystem.config
ecosystem.config.js module.exports = { apps : [{ name : 'TOB_NODE', script : 'app.js', // 开发环境变量 env ...
- docker等文档
docker strapi koa express
- SpringMVC实现上传下载功能
配置资源(jar包) 将前端页面整理好: 写核心的几个配置文件(applicationContext+wed.xml+jdbc.properties+log4j+springMVC.xml) 都是在s ...
- nmap扫描、信息收集(网安全实训第一天)
本期内容:网站信息收集.nmap扫描 1. 信息收集 2. nmap扫描1.信息收集 (1)确定目标 首先,我们确定攻击目标,在这里,我们随便找一个网站做测试,我以码云为例. (2)nslookup查 ...
- 面试题-关于Java线程池一篇文章就够了
在Java面试中,线程池相关知识,虽不能说是必问提,但出现的频次也是非常高的.同时又鉴于公众号"程序新视界"的读者后台留言让写一篇关于Java线程池的文章,于是就有本篇内容,本篇将 ...
- 查看yum已安装的包
在linux下如何使用yum查看安装了哪些软件包 列出所有已安装的软件包 yum list installed yum针对软件包操作常用命令: 1.使用 yum 查找软件包 命令:yum search ...
- 移动端Vue图片获取,压缩,预览组件-upload-img(H5+获取照片,压缩,预览)
组件示例图 组件代码 upload_img.vue <div id="uploadImg"> <div class="upload_image_box& ...
- ES7中的async 和 await
async 和 await 一个函数如果加上 async ,那么该函数就会返回一个 Promise async function test() { return "1" } con ...
- CCPC Wannafly Winter Camp Div2 部分题解
Day 1, Div 2, Prob. B - 吃豆豆 题目大意 wls有一个\(n\)行\(m\)列的棋盘,对于第\(i\)行第\(j\)列的格子,每过\(T[i][j]\)秒会在上面出现一个糖果, ...