【问题标题】:After upgrading Node, 'Segmentation fault (core dumped)' error shows up. How can I fix it?升级节点后,出现“分段错误(核心转储)”错误。我该如何解决?
【发布时间】:2019-05-09 00:11:48
【问题描述】:

我试图按照https://tecadmin.net/upgrade-nodejs-via-npm/ 的说明升级 Node。我做了sudo npm cache clean -fsudo npm install -g nsudo n stable。 在上面的命令之后,我愚蠢地做了sudo ln -sf /usr/local/n/versions/node/11.8.0/bin/node /usr/bin/node。在这个命令之后,我检查了/usr/local/n/versions/node 文件夹。它有10.15.3,所以我输入了sudo ln -sf /usr/local/n/versions/node/10.15.3/bin/node /usr/bin/node

现在,node -v 给了我10.15.3。但是,npm -version 给了我Segmentation fault (core dumped)。像npm update -g 这样的其他命令也给了我同样的错误信息。

关于Segmentation fault (core dumped) 错误的其他帖子似乎与我的问题没有直接关系。

我该如何解决这个问题?

我使用的是 Ubuntu 19.04。

谢谢。

【问题讨论】:

    标签: node.js npm segmentation-fault


    【解决方案1】:

    我刚才遇到了同样的问题, 这是因为node和nodejs的npm冲突

    所以通过以下命令删除 nodejs

    sudo apt-get remove nodejs
    

    这将删除所有与 nodejs 相关的包,

    在上面的命令之后你必须像那样运行自动删除命令

    sudo apt autoremove
    

    这样就可以解决问题了,

    现在您的机器中只有 node pacakge,NPM(分段转储)错误也将得到解决。

    你可以更多地了解What is segmentation fault

    【讨论】:

    • 很高兴能帮上忙。
    • 它为我删除了所有 nodejs、npm、node。所以不得不重新安装
    • 不适合我,你能帮我一下吗?
    • 当我的npm pack 命令失败时,这对我有用。但是,它确实删除了apt-get 安装的所有与 npm 相关的软件包,但由于我使用 conda 管理 npm,这对我来说不是问题。
    • 这一定是我在著名软件的发布版本中遇到的最有趣的错误...每次执行npm,无论有没有任何选项,都会立即产生段错误,并在全部删除后解决本答案中描述的nodejs相关包。
    【解决方案2】:

    尝试运行npm rebuild 重新编译您的依赖项。

    【讨论】:

    • 使用 pnpm,pnpm rebuild 完美运行!
    【解决方案3】:

    这是由您编译的二进制文件和它们链接的库之间的“二进制不兼容”引起的。我列出的可能导致这种情况的事情

    • 升级nodejs,因为你需要从干净状态重建代码
    • Docker 例如,如果您将 node_modules 从 Mac 共享或复制到 Linux 或从 Ubuntu 到 Alpine Linux
    • Docker 多阶段构建会忘记您在早期阶段拥有的库,除非您明确复制它们
    • Vagrant 的原因与 Docker 相同。如果您在虚拟机内外的相同版本上运行相同的 Linux 发行版,那么它可能会起作用,通过共享文件夹或卷共享 node_modules,这在 Vagrant 上更常见

    最常用的短期修复:

    rm -rf node_modules
    

    【讨论】:

      【解决方案4】:

      尝试运行以下两条命令

      sudo apt --auto-remove purge npm
      
      sudo apt --auto-remove purge nodejs
      

      执行这些命令后,npm 无需安装即可工作。

      【讨论】:

        猜你喜欢
        • 2017-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多