【问题标题】:NPM, Node fail to open after upgrade to Mojave 10.14.6升级到 Mojave 10.14.6 后 NPM、Node 无法打开
【发布时间】:2019-12-22 03:09:10
【问题描述】:

我最近将 OSX 从 10.13.XXX 升级到 10.14.6。升级后,NPM 和 Node 都失败并显示错误消息,我无法找到任何信息。

这是在命令行上运行nodenpm 时出现的错误消息:

dyld: Symbol not found: __ZTVN6icu_6213FieldPositionE
  Referenced from: /usr/local/bin/node
  Expected in: /usr/local/opt/icu4c/lib/libicui18n.62.dylib
 in /usr/local/bin/node
Abort trap: 6

似乎最快/最简单的解决方法是卸载/重新安装 node 和 npm,但如果可能的话,我宁愿修复实际问题。

更多信息:

brew reinstall node 抛出这个:

/usr/local/Homebrew/Library/Homebrew/global.rb:12:in `require': cannot load such file -- active_support/core_ext/object/blank (LoadError)
    from /usr/local/Homebrew/Library/Homebrew/global.rb:12:in `<top (required)>'
    from /usr/local/Homebrew/Library/Homebrew/brew.rb:23:in `require_relative'
    from /usr/local/Homebrew/Library/Homebrew/brew.rb:23:in `<main>'

【问题讨论】:

  • 安装正确版本的 node 确实是解决办法。 OSX 不遵循 semver,它的 10.14 非常破坏向后兼容性。 10.14 将 OSX 移动到“我们真的只想成为 64 位”,因此您在 10.13 上安装的任何 32 位程序很可能有问题:您必须重新安装 Node.js。而不是使用brew reinstall,可以尝试在原地做一些事情,先正确删除Node,然后让brew发现OSX 64位版本。
  • 嗨,迈克,我可以使用 brew reinstall 进行修复(请参阅下面的评论),但我很好奇如何正确删除节点以使用 OSX 64 位版本。有什么指点吗?
  • 您会从brew remove node 开始,然后它通常会报告它无法自行删除的所有内容,因此您可以手动处理sudo rmsudo unlink 这些内容。

标签: node.js npm


【解决方案1】:

好的,我想我已经解决了,但我仍然不确定是什么导致了问题。

来自this thread,我发现brew 命令存在类似问题。我跑了brew style,然后brew update-reset,自制软件又开始工作了。然后,brew reinstall node 再次让一切正常工作。

【讨论】:

    猜你喜欢
    • 2019-09-22
    • 2018-11-29
    • 2020-12-10
    • 1970-01-01
    • 1970-01-01
    • 2020-09-19
    • 1970-01-01
    • 2019-05-12
    • 1970-01-01
    相关资源
    最近更新 更多