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执行不了

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

  1. linux下图像分析程序,三 - Linux+C语言:数字图像处理源程序_Linux编程_Linux公社-Linux系统门户网站...

    main.c的源程序: #include #include #include //包含BMP文件的结构的声明 #include "BMP.h" //包含BMP文件的读写操作的函数 ...

  2. c语言编写弹窗提示是否确认退出_世人觉得C语言和C++太难?没前途?过来人告诉你真相...

    因为有些伙伴对C++并不了解,所以这里就简要介绍一下. 很多人对C++语言都存在误解,以为C++就是C语言的扩展,包括我自己,最开始学习C++时也是这么认为的,一是因为名字太像了,然后C++面向过程部 ...

  3. 通过GPO的方式解决win10系统无法安装语言包

    通过GPO的方式解决win10系统无法安装语言包 最近使用win10系统的用户反应,想安装一个英语美国的语言包,结果基本输入法.手写和语音都不能安装,显示错误代码的故障现象,针对这样的问题该怎么办?如 ...

  4. 【项目安装】electron项目中 sqlite3包下载失败,无法安装

    [背景] electron 项目使用sqlite3 运行报错[Cannot find module '/node_modules/sqlite3/lib/binding/electron-v11.0- ...

  5. r语言工作路径linux,R语言实用基础知识_工作路径-注释-安装和卸载R包_2019-12-01...

    R语言的实用基础知识有很多,都是我在工作和学习中所整理的,有的是看书整理的,也有的是从网络上的各种博客.各种资源获取的,所以我采用日更的方式进行支持整理和更新,希望能够帮到屏幕前的你! 今天是我日更的 ...

  6. linux go语言运行环境,安装Go语言运行环境

    安装Go运行环境,如果从旧版本的Go进行升级,必须先删除现有版本. 1. 二进制包安装 下载包 cd /usr/local/src wget https://storage.googleapis.co ...

  7. 云服务器,Linux上安装xampp,搭建node服务,云服务器Firewalld、iptables,nginx反向代理

    目录 写在前面的 前期准备 下载xampp: xampp安装步骤 1.首先链接远程linux服务器 2.xshell终端执行安装命令 3.启动:xampp服务 4.访问数据库,修改数据库密码 安装守护 ...

  8. 云服务器,Linux上安装xampp来搭建node,api

    目录 下载xampp: xampp安装步骤 安装守护进程pm2 服务器上启动node服务 Debian 10(Buster)上安装Firewalld 服务器的安全组规则,开放端口 linux查看自己的 ...

  9. linux R语言 安装

    R安装有多种方式,使用yum或者源码编译安装,我用的是下载源码压缩文件,然后配置编译安装的. 安装过程: 1.下载 我在root文件夹下创建了一个install的文件夹,把我下载的东西都放在那 创建i ...

最新文章

  1. 剑指offer系列之十:二进制中1的个数
  2. SQLite添加列的限制
  3. Java接口和Java抽象类的认识
  4. 阿里巴巴成立首个IoT生态联盟 将打通技术标准
  5. oracle捕捉所有异常,如何捕获和处理特定的Oracle异常?
  6. html把图片定位在盒子中心,html – CSS在图像的右上角定位一个图标
  7. 神泣单机服务器维护,神泣9.0网游单机版网单一键服务端 魔王归来
  8. vscode配置python2和python3_VS Code中配置python版本以及Python多版本
  9. Android 系统javadoc符 注释/**@hide*/
  10. android avrcp处理流程,(VR虚拟现实)Android 蓝牙AVRCP功能的实现.doc
  11. Python程序设计实验——2.掷骰子游戏
  12. 怎么看服务器cpu温度命令_ubuntu 命令行下查看及监测CPU温度的方法
  13. ByPass Mode(略过模式或旁路模式)
  14. 反客为主:巧妙用grldr冒名顶替ntldr引导XP/Ubuntu
  15. python中fetch_python 异步 fetch demo
  16. 如何手机桌面加计算机,教你自制手机、电脑壁纸|手机一键加字、加光晕特效,4步搞定!...
  17. 青椒跳槽三线高校后,副教授变教授、140平房子到手、老婆入编...
  18. 最老程序员创业开发实训2---采用MVC架构的应用Splash页面实现
  19. java 实现word转pdf
  20. 利用Memory窗口查看内存信息

热门文章

  1. 【Kaggle Learn】Python 5-8
  2. SpringBoot2.3 修改响应头、添加更新token、解决在过滤器中修改失败
  3. 【SpringMVC】概述
  4. CPU架构的llvm后端
  5. ALD对照CVD淀积技术的优势
  6. 至强® 平台配备先进遥测技术让您的数据中心更智能
  7. 2021年大数据Kafka(三):❤️Kafka的集群搭建以及shell启动命令脚本编写❤️
  8. Redis持久化 - RDB和AOF
  9. Resource entery xx is already defined
  10. Json 学习 JSONObject 和 JSONArray