节点“不是动态可执行文件”

节点“不是动态可执行文件”

我在 Linode 上运行 14.04,并尝试以下操作这些说明安装 NVM,然后安装节点。我可以让 NVM 正常运行,但当我尝试运行它时,安装 Node 会导致出现神秘的“文件未找到”消息,即使文件列在正确的目录中。

NVM 的所有路径都是正确的,并且似乎没有任何冲突(或node中都nodejs没有列出),并且我已尝试使用其完整路径运行可执行文件。/usr/bin//usr/local/bin

我认为这可能是 32 位二进制问题,但运行file node似乎表明它是一个 64 位可执行文件:

node: ELF 64-bit LSB  executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped

但是,运行ldd node时会显示以下消息:

not a dynamic executable

我想知道我是否缺少一些共享库,但我不知道这些是什么。

另外,我如何知道是否存在悬空的符号链接?

答案1

您已经发现了 ldd 脚本(64 位安装)的局限性。您最不希望看到的是“错误的 ELF 类”的投诉。再安装几个 32 位组件,例如 32 位 ld,您可能会开始获得一些合理的输出(ld 是 32 位加载器)。所需的软件包是 libc6-i386。

相关内容