【问题标题】:nodejs Install issue on my BeagleBone Greennodejs 在我的 BeagleBone Green 上安装问题
【发布时间】:2023-08-02 07:07:02
【问题描述】:

我想使用 cloud9 在我的 BeagleBone Green 卡上开发我的 ReactJs 和 Nodejs 应用程序,所以每次我安装 nodejs 或使用 npm 执行命令时都会出现这个错误。

https://i.stack.imgur.com/Ie095.png

任何帮助将不胜感激。

谢谢。

【问题讨论】:

    标签: node.js npm cloud9-ide beagleboneblack beagleboard


    【解决方案1】:

    您的 node 可执行文件已构建为需要比 BeagleBone 上安装的版本更高版本的 libstdc++(GNU 标准 C++ 库)和 libc(GNU 标准 C 库)。

    要解决此问题,您需要下载这些库的较新版本并将它们提供给node。从https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html 的信息看来,您至少需要libstdc++.so.6.0.20 和至少libc-2.16

    在正在运行的系统上更改系统库会涉及一些风险。这样做的方法是将新库放在旧库旁边(不要删除或重命名旧库),然后重新制作现有的 libstdc++.so.6libc.so.6 符号链接以指向新库。符号链接是程序进入实际库所遵循的。 (如果您查看这些符号链接,您会发现它们现在指向旧库。)您必须在一个命令中重新制作符号链接,如果重新制作 libc 符号链接失败,那么您将陷入困境。

    如果您可以从正确构建的包中获取更新的库,那么这应该比尝试手动执行更安全,因为包应该为您处理重新链接。

    或者,您可以将新库放在与系统库分开的某个目录中,在该目录中创建新的 libstdc++.so.6 和 libc.so.6 符号链接,然后使用 LD_LIBRARY_PATH 环境变量导致 @987654329 @ 和 npm 在该位置查找它们。这样更安全,但有点丑。

    【讨论】:

    • 谢谢@ottomeister。我试图这样做,但手动甚至出现问题。问题是如何安装这些库并将它们放置到位,因为我是初学者