背景前端
龍芯是國產的cpu,採用是mips架構,就相似你們熟知的x8六、arm。node
最近在一臺龍芯電腦(系統是中興新支點,Linux)上調試前端應用(electron),因而就須要安裝NodeJS。npm
可是,NodeJS的官方資源就沒有Linux mips 可直接使用的包,這就須要本身編譯NodeJS。架構
插曲electron
網上有人提到使用 yum install -y nodejs 就能夠安裝,我試驗過也確實能夠,可是它安裝的版本是 v0.12.4 ,這個版本過低,不符合個人應用要求。spa
安裝步驟.net
下載源碼:https://nodejs.org/download/release/v10.0.0/調試
一、配置code
./configure
二、編譯xml
make
三、安裝
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(無用)
緊接着換了個較低的版本編譯。
PS:有一些文件須要作微小的調整才能正確編譯,詳情查看 https://blog.csdn.net/weixin_40065369/article/details/85687482
這麼安裝後,node和npm都能正常使用了,可是在前端工程安裝依賴時候,問題又來了:node版本過低了,不少依賴裝不了(基本要求v6以上),只能宣告這node版本沒用。
node-v8.16.1(勉強可用)
因而又換了個不高不低的版本,這個版本也須要像 node-v4.4.3 調整一些文件。
編譯正常,安裝正常,但是使用使用又出現一些問題。
問題:TypeError: log.gauge.isEnabled is not a function
因而我找到代碼位置,修改其中代碼來規避這些問題。修改時,修改一處,另外一處又報錯,大概是改了5處才使得 npm 的命令不報錯,才勉強可用。
總結
龍芯做爲國產的cpu,絕大多數軟件沒有兼容版本,特別是國外的軟件或開源項目。它過小衆了,以現在的狀態根本沒有造成軟件生態的可能,即使是想在上面開發軟件,也是困難多多。