linux安装语言总是waiting,node的serialport在arm的Linux安装血泪史之我太难了
0.序
本人在arm的Linux系統(tǒng)上serialport耗時(shí)5天,現(xiàn)在想想都頭皮發(fā)麻!
下面我簡(jiǎn)單說一下過程,由于error時(shí)沒有截圖留檔,關(guān)于出現(xiàn)的error,我就用語言描述一下,要是有什么不理解可以給我留言哈~~當(dāng)然本文要有錯(cuò)誤請(qǐng)嚴(yán)厲批評(píng)!
1.我的node是v12.18.3版本
2.系統(tǒng)里必須要有python2.xx,不能是python3.xx
3.一定要有g(shù)cc編譯器呀!!(沒有也要想辦法搞出來,node-gyp必須要這東西)
1.全局安裝node-gyp
npm install node-gyp -g
裝這個(gè)node-gyp是為了編譯重建bindings.node,說這個(gè)可能早了,但是全局裝node-gyp是必須的,那為了使用它指令,我們還必須建立軟連接
sudo ln -s ~/node/node-v12/bin/node-gyp /usr/bin/node-gyp
現(xiàn)在軟連接建立完畢,可以在全局的任何個(gè)地方使用node-gyp rebuild 。
我們檢查一下~/node/node-v12/lib/node_modules/node-gyp/gyp/pylib/gyp中是否有filecmp.py(我到git上看node-gyp源碼,沒有提供這py文件),如果沒有,就根據(jù)你系統(tǒng)內(nèi)的python版本,將python文件夾下lib里的filecmp.py復(fù)制到上面提到的文件夾下,缺少這個(gè)filecmp.py會(huì)報(bào)錯(cuò)
!!!報(bào)錯(cuò):找不到filecmp.py~~~~balabalah
2.設(shè)置系統(tǒng)時(shí)間
這一步非常重要,系統(tǒng)時(shí)間不正確,node-gyp rebuild的時(shí)候會(huì)出現(xiàn)可怕的秒數(shù)倒計(jì)時(shí)
date //查看系統(tǒng)時(shí)間
date -s "2019-7-9 10:00:00" //設(shè)置系統(tǒng)時(shí)間
hwclock -w //寫入硬件系統(tǒng)(非常關(guān)鍵,因?yàn)楹雎赃@一步耗費(fèi)我一天)
hwclock //查看系統(tǒng)時(shí)間,確保正確
snyc //同步一下
3.安裝serialport
這一步也是讓我迷醉得花里胡哨,我到現(xiàn)在覺得能裝上也是巧合。
根據(jù)其提供文檔,我們?cè)谛枰惭bserialport的文件夾下使用以下指令(必須這么輸,默認(rèn)你有package.json了):
sudo npm install serialport --unsafe-perm --build-from-source
如果安裝上了那就大大大大幸
如果出現(xiàn)了報(bào)錯(cuò)
!!!報(bào)錯(cuò):找不到filecmp.py~~~~balabalah
我們先npm uninstall serialport
然后重裝npm(我是這樣弄出來的,比較玄學(xué))
sudo npm cache clean -f
sudo npm install npm -g
再執(zhí)行
sudo npm install serialport --unsafe-perm --build-from-source
4.node-gyp rebuild
node-gyp rebuild會(huì)產(chǎn)生一個(gè)build文件夾,里面有Release等文件夾,Release中有bindings.node(上面提到),這個(gè)是serialport必須要用的
我們進(jìn)到~/port/node_modules/@serialport/bindings里面應(yīng)該有一個(gè)binding.gyp文件,這是node-gyp rebuild必須有的(npm上有說),在該文件夾下執(zhí)行
node-gyp rebuild
好,此時(shí)應(yīng)該生成了bindings.node文件,現(xiàn)在去新建一個(gè)js文件,require這個(gè)模塊,并console.log,若執(zhí)行則成功。
5.血淚史
1.系統(tǒng)時(shí)間沒有設(shè)置,導(dǎo)致wating了很久
2.沒有filecmp.py
3.重復(fù)裝卸serialport
4.沒有g(shù)cc編譯器,node-gyp rebuild執(zhí)行不了
總結(jié)
以上是生活随笔為你收集整理的linux安装语言总是waiting,node的serialport在arm的Linux安装血泪史之我太难了的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《秋江晚泊》第四句是什么
- 下一篇: 鱿鱼一斤多少钱