linux安装语言总是waiting,node的serialport在arm的Linux安装血泪史之我太难了

0.序

本人在arm的Linux系统上serialport耗时5天,现在想想都头皮发麻!

下面我简单说一下过程,由于error时没有截图留档,关于出现的error,我就用语言描述一下,要是有什么不理解可以给我留言哈~~当然本文要有错误请严厉批评!

1.我的node是v12.18.3版本

2.系统里必须要有python2.xx,不能是python3.xx

3.一定要有gcc编译器呀!!(没有也要想办法搞出来,node-gyp必须要这东西)

1.全局安装node-gyp

npm install node-gyp -g

装这个node-gyp是为了编译重建bindings.node,说这个可能早了,但是全局装node-gyp是必须的,那为了使用它指令,我们还必须建立软连接

sudo ln -s ~/node/node-v12/bin/node-gyp /usr/bin/node-gyp

现在软连接建立完毕,可以在全局的任何个地方使用node-gyp rebuild 。

我们检查一下~/node/node-v12/lib/node_modules/node-gyp/gyp/pylib/gyp中是否有filecmp.py(我到git上看node-gyp源码,没有提供这py文件),如果没有,就根据你系统内的python版本,将python文件夹下lib里的filecmp.py复制到上面提到的文件夹下,缺少这个filecmp.py会报错

!!!报错:找不到filecmp.py~~~~balabalah

2.设置系统时间

这一步非常重要,系统时间不正确,node-gyp rebuild的时候会出现可怕的秒数倒计时

date //查看系统时间

date -s "2019-7-9 10:00:00" //设置系统时间

hwclock -w //写入硬件系统(非常关键,因为忽略这一步耗费我一天)

hwclock //查看系统时间,确保正确

snyc //同步一下

3.安装serialport

这一步也是让我迷醉得花里胡哨,我到现在觉得能装上也是巧合。

根据其提供文档,我们在需要安装serialport的文件夹下使用以下指令(必须这么输,默认你有package.json了):

sudo npm install serialport --unsafe-perm --build-from-source

如果安装上了那就大大大大幸

如果出现了报错

!!!报错:找不到filecmp.py~~~~balabalah

我们先npm uninstall serialport

然后重装npm(我是这样弄出来的,比较玄学)

sudo npm cache clean -f

sudo npm install npm -g

再执行

sudo npm install serialport --unsafe-perm --build-from-source

4.node-gyp rebuild

node-gyp rebuild会产生一个build文件夹,里面有Release等文件夹,Release中有bindings.node(上面提到),这个是serialport必须要用的

我们进到~/port/node_modules/@serialport/bindings里面应该有一个binding.gyp文件,这是node-gyp rebuild必须有的(npm上有说),在该文件夹下执行

node-gyp rebuild

好,此时应该生成了bindings.node文件,现在去新建一个js文件,require这个模块,并console.log,若执行则成功。

5.血泪史

1.系统时间没有设置,导致wating了很久

2.没有filecmp.py

3.重复装卸serialport

4.没有gcc编译器,node-gyp rebuild执行不了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值