开源改变世界

Pi Zero 上的 Node.js 安装问题 #492

推推 grbl 3年前 (2023-02-03) 169次浏览
关闭
12 个任务中的第 3 个
calumkenny 打开了这个问题 2019 年 6 月 17 日 · 9条评论
关闭
12 个任务中的第 3 个

Pi Zero 上的 Node.js 安装问题#492

calumkenny 打开了这个问题 2019 年 6 月 17 日 · 9条评论

评论

Pi Zero 上的 Node.js 安装问题 #492

描述

嘿,

免责声明 – 我完全知道不推荐或不支持 pi 零。然而,在看到记录安装的教程后,我决定尝试使用我的 pi 零最后我设法让 CNC.js 网络应用程序正常工作,所以我想我可以让一些人免于一些挫折。

在 Pi Zero 上安装 Node.js

  1. 节点包管理器——我选择了这条路线,但没有成功,因为包中的某些组件不支持 armv6(在 pi 零上使用,而不是 raspi B、B+ 上的 armv7 和 v8,我想). 经过多次讨论后,我选择了 Node Version Manager 路线。

  2. 节点版本管理器 – 我发现这导致我的命令在安装过程中出现nvm install 4一些问题。npm安装最新版本的 nvm 后nvm install 10,卸载旧节点版本(从目录中删除)并执行“nvm 别名默认节点”命令指向最新安装的节点版本,我能够成功安装 npm 并升级它. 事后看来,也许nvm use 10也会奏效。

我是 pi 的新手,所以不得不做很多谷歌搜索来解决这个问题 – 我认为值得在这里发布以警告/通知人们将来安装。总之/ TL;DR,如果您在 pi 零上安装 Node.js 时遇到问题,请尝试使用 nvm install 10 and nvm use 10 而不是版本 4。当然,请始终首先遵循官方设置指南。

希望有所帮助,

-C

版本

  • CNCjs:1.9.20
  • 节点.js:10.16.0
  • NPM:6.9.0

你是怎么安装CNCjs的?

  • NPM
    -[x] NVM
  • 下载 CNCjs 桌面应用程序

数控系统

  • Grbl
  • 冰沙
  • TinyG/g2核心

硬件

  • 树莓派零
  • 台式机或笔记本电脑
  • 移动设备

操作系统

  • 不适用
  • 视窗
  • 苹果
  • Linux
Pi Zero 上的 Node.js 安装问题 #492

我无法使用“npm install”路径在 Pi Zero 上安装 cncjs。经过几个小时的运转,它总是在放弃之前耗尽内存。对我有用的安装路径是在 PC 上编译其他所有东西,将文件从 PC 复制到 Pi,除了串口模块,然后只在 Pi 上编译串口模块。在另一个问题中有关于如何执行此操作的说明。我会找到他们并在时间允许的情况下报告。
这种技术比在 Pi 上编译所有东西要快得多,即使 Pi 编译最终会成功。与几个小时相比,差异是几分钟。
Pi Zero 适用于 CNCjs 服务器组件。我使用 Android 平板电脑作为 UI 组件。

Pi Zero 上的 Node.js 安装问题 #492

下面是拆分编译的步骤:#357(评论)

Pi Zero 上的 Node.js 安装问题 #492
作者
卡尔姆肯尼 评论了 2019 年 6 月 17 日  

伟大的阅读米奇。我看到另一个网站上有 CNC 软件(CNC.js、Chillipeppr、通用 G 代码发送器)预闪到树莓派 SD 卡图像上。如果我的 pi 零安装失败,我想过走这条路。编辑 – 直到万不得已才打算尝试,因为图像是为 Raspi 2,3 而不是 pi 零测试的

也就是说,不是 CPU 或内存限制了我的安装,而是运行 npm 命令的兼容性问题。可能值得使用拆分编译方法的说明更新 CNC.js raspi 安装指南。

另外 – 您是否单独安装了 UI 组件?或者只是从平板电脑访问用户界面(因为我目前正在从我的 macbook 访问用户界面)。

Pi Zero 上的 Node.js 安装问题 #492

预闪存 SD 卡的问题在于,该卡不太可能拥有您想要的最新版本。你提到的那张卡有cncjs 1.9.15;最新的标签是 1.9.20,我目前正在使用 1.10。同样的问题也发生在 Docker 镜像上。它们非常适合第一次尝试,但是一旦您需要升级,您就会回到自己编译,除非 Docker 镜像的维护者总是跟上(这在开源志愿者空间中很少见)。
更新安装指南绝对值得,但一天只有那么多时间,而且我正在深入重构 CNCjs 控制器代码。
关于用户界面 – 我不确定“单独安装”是什么意思。当您执行“npm install”时,它会编译“server”和“app”组件。它们都驻留在 Pi 文件系统上。服务器组件在 Node.js 下的 Pi 上执行,而应用程序组件 (UI) 通过 HTTP 呈现给浏览器,无论它在哪里运行。然后应用程序在浏览器计算机上的浏览器 JavaScript 环境中执行。因此,无论哪台计算机运行浏览器,服务器和应用程序 (UI) 组件都会“安装”在 Pi 上。
也就是说,可以分别编译它们,也许是在不同的计算机上,然后将它们复制过来。在我发现仅在 Pi 上编译串口模块的最终优化之前,我在 Pi 上编译了整个服务器组件并在 PC 上编译了应用程序。在 Pi 上编译服务器花了很长时间,但最终成功了,而在 Pi 上编译应用程序总是在折腾几个小时后崩溃。
对于生产用途,我不使用普通的 CNCjs UI,而是更喜欢 cncjs-shopfloor-tablet,这是我根据自己的要求编写的。它具有易于在平板电脑或触摸屏上点击的大按钮,不会滚动,因此按钮始终显示在屏幕上,并且避免了与运行作业无关的分散注意力的信息。当您使用功能强大的机器时出现问题,您需要立即访问控件,而不是必须在屏幕上找到正确的位置让您滚动,然后滚动以显示您需要的按钮,然后点击一个小按钮按钮。

Pi Zero 上的 Node.js 安装问题 #492

感谢您的回复 – 是的,我正在澄清这一点:

因此,无论哪台计算机运行浏览器,服务器和应用程序 (UI) 组件都会“安装”在 Pi 上。

原因是当你说的时候我有点困惑:

我使用 Android 平板电脑作为 UI 组件。

我将查看车间平板电脑版本。期待 v1.10!虽然害怕安装…