开源改变世界

对发布感到困惑 #245

推推 grbl 3年前 (2023-02-02) 279次浏览
关闭
MitchBradley 打开了这个问题 2017 年 12 月 19 日 · 10 条评论
关闭

对发布感到困惑#245

MitchBradley 打开了这个问题 2017 年 12 月 19 日 · 10 条评论

评论

对发布感到困惑 #245

cncjs-1.9.12-linux-armv7.deb 应该在哪个系统上工作?

我尝试将它安装在 Raspberry Pi 2 上

pi@laser:~$ uname -m
armv7l
pi@laser:~$ dpkg --print-architecture
armhf

但由于对 libnotify4:armv7l 和其他实际安装的软件包的未满足依赖性而失败,但它们被列为具有“armhf”架构。我认为 armv7l 在内核架构命名空间中,而不是包架构命名空间中。

所以我编辑了 .deb 文件中的控制文件,并将“armv7l”替换为“armhf”。之后,安装成功了,但是当我尝试运行 cncjs 时,它立即退出,没有任何消息。我尝试在 strace 下运行它,但没有看到任何明显的退出原因。

我可以使用 npm 进行升级,但希望避免这种情况,因为它通常需要数小时才能完成,而且有时会由于网络错误而在升级过程中死机。

对发布感到困惑 #245
合作者
奇顿 评论了 2017 年 12 月 19 日  

如果您尝试在 Raspberry Pi 上安装 cncjs-1.9.12-linux-armv7.deb,您应该运行图形化 Linux 桌面应用程序,而不是独立服务器。实际上,我还没有机会在我的 Raspberry Pi 上测试 armv7l 包。它是用运行在 Travis CI 上的 electron-builder 构建的:

对发布感到困惑 #245

有一些关于armhf支持的讨论:
electron-userland/electron-builder#1230
electron/electron#6055
electron/electron#5706
electron/electron#7214

到目前为止,除非 electron-builder 支持新的目标平台,否则我无能为力。

对发布感到困惑 #245
贡献者作者

我们需要找到一些好的方法来记录运行 cncjs 的所有不同方式,以及哪些发布工件对应于哪些使用场景。从目前的情况来看,情况非常混乱。

现在我知道 cncjs_1.9.12_armv7l.deb 是一个 Electron 版本,我尝试在 Pi 2 的 xterm 中运行 cncjs。我遇到的第一个问题是一条消息说 serialport.node 适用于 64 位系统。进一步检查发现,它不仅是64位的,而且是x86_64,根本不是ARM。因此,armv7l 的电子构建器以某种方式插入了 x86_64 二进制文件而不是 ARM 二进制文件。

我通过在 ARM 上从源代码重建 serialport.node 并将其替换为 x86_64 来解决这个问题。然后它失败了

A JavaScript error occurred in the main process
Uncaught Exception:
Error: Cannot find module 'babel-runtime/regenerator'
   at Module._resolveFilename (module.js:470:15)
   at Function.Module._resolveFilename (/opt/CNCjs/resources/electron.asar/common/reset-search-paths.js:35.12)
   ... and several more lines referencing main.js and module.js

我认为现在应该从发布的文件中删除 armv7l .deb。我看不出它如何在当前状态下的任何系统上工作。也许当电子团队认真对待 ARM 支持时,它可以被添加回来。

对发布感到困惑 #245
合作者
奇顿 评论了 2017 年 12 月 20 日  

最近工作比较忙,只有有限的时间来做这个项目(可能每天一小时),目前我更想把主要精力放在开发上,而不是花时间在完成文档上。如果您和其他人可以帮助更新 Wiki 文档,特别是用户指南疑难解答部分,我将非常感激,这将对新手用户有所帮助。

对于损坏的 ARM 版本,我可能遗漏了一些意外生成的 x86_64 二进制文件,我将从发布页面中删除它以避免误用。

对发布感到困惑 #245

我的目标是引起 wiki 的注意。我在时间上遇到了同样的问题,但会尝试加强。我也欢迎其他人帮助更新 Wiki。

对发布感到困惑 #245
贡献者作者

我很乐意帮助文档。不幸的是,我常常不确定事情应该如何运作。该文档包含大量陈旧信息,因此很难确定哪些已过时,哪些未过时。有时我可以通过阅读源代码来计算出信息,但这样的信息很多,而且需要与外部软件、硬件和框架进行大量交互。将它们拼凑在一起具有挑战性且容易出错。

例如,Docker 部分中有一个断开的链接。是否有更好的链接,或者与 docker 一起使用是否已过时?

对发布感到困惑 #245
贡献者作者

有帮助的一件事是更好的命名约定。名称“cnc”和“cncjs”似乎用于不同的事物。对于初学者,将服务器(“app”)组件命名为“cncjs-server”如何与“一体化”Electron 应用程序区分开来?

对发布感到困惑 #245

@MitchBradley好主意。拥有一个 wiki 页面来跟踪 wiki 上需要更新的内容可能是值得的。欢迎补充和评论。我将尝试管理 wiki 返工并让它继续下去……强大的文档使项目变得强大。

对发布感到困惑 #245
合作者

@MitchBradley
将文件名更改为cncjs-desktop-{version}-{platform}-{arch}.{ext}怎么样?这比更改项目的文件夹结构要容易得多。

@AustinSaintAubin
GitHub Team Discussions 是一个与团队成员分享信息的地方,它会是一个更好的讨论场所。
https://github.com/orgs/cncjs/teams/cncjs-dev

对发布感到困惑 #245
贡献者作者

将此讨论移至团队场所……

对发布感到困惑 #245
合作者

放弃 armv7 支持 ( 2a0a776 )