龍芯(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 8

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,絕大多數軟件沒有兼容版本,特別是國外的軟件或開源項目。它太小眾了,以如今的狀態根本沒有形成軟件生態的可能,即便是想在上面開發軟件,也是困難多多。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM