如何修复:“错误 fsevents@2.0.7:平台“linux”与此模块不兼容。”

Posted

技术标签:

【中文标题】如何修复:“错误 fsevents@2.0.7:平台“linux”与此模块不兼容。”【英文标题】:How to fix: "error fsevents@2.0.7: The platform "linux" is incompatible with this module." 【发布时间】:2019-11-26 15:57:58 【问题描述】:

我想将我的网站部署到 Heroku,但出现下一个错误:

error fsevents@2.0.7: The platform "linux" is incompatible with this module.
error Found incompatible module.

我已经尝试升级yarn、node,但没有帮助。我使用 macOS Mojave v 10.14.5,我不明白为什么这里有 linux。



remote: -----> Installing binaries
remote:        engines.node (package.json):  10.15.3
remote:        engines.npm (package.json):   unspecified (use default)
remote:        engines.yarn (package.json):  unspecified (use default)
remote:        
remote:        Resolving node version 10.15.3...
remote:        Downloading and installing node 10.15.3...
remote:        Using default npm version: 6.4.1
remote:        Resolving yarn version 1.x...
remote:        Downloading and installing yarn (1.17.3)...
remote:        Installed yarn 1.17.3
remote:        
remote: -----> Installing dependencies
remote:        Installing node modules (yarn.lock)
remote:        yarn install v1.17.3
remote:        [1/4] Resolving packages...
remote:        [2/4] Fetching packages...
error fsevents@2.0.7: The platform "linux" is incompatible with this module.
remote:        error Found incompatible module.

【问题讨论】:

我在同一个问题上卡了一个多月,然后我放弃了,我确实尝试了所有可能的方法,并在所有互联网上搜索了一个解决方案,但没有任何解决方案。所以我改成纱线 【参考方案1】:

yarn --ignore-platform 这将解决问题。顾名思义,它将忽略平台(Mac/Linux)并安装这些依赖项。

【讨论】:

您的答案可以通过添加有关代码的作用以及它如何帮助 OP 的更多信息来改进。【参考方案2】:

我现在收到错误消息,但 Heroku 排除了 fsevents 并导致部署成功。

info fsevents@2.1.3: The platform "linux" is incompatible with this module.
remote:        info "fsevents@2.1.3" is an optional dependency and failed compatibility check. Excluding it from installation.
remote:        info fsevents@1.2.13: The platform "linux" is incompatible with this module.
remote:        info "fsevents@1.2.13" is an optional dependency and failed compatibility check. Excluding it from installation.

https://my-app.herokuapp.com/ deployed to Heroku.

我没有修改yarn.lock 或任何其他文件。我最终看到了这个帖子,因为我对这个错误感到好奇,现在我知道它只适用于 macOS。换句话说,忽略错误并留下yarn.lock

【讨论】:

请注意,此建议可能适用于 heroku,但可能不适用于其他服务。在许多情况下它仍然是一个致命错误,并且将其删除或以某种方式使其仅适用于 macos 或本地开发(也许将其变成您在本地使用的 devDependency,并且当您在 linux 上的其他地方构建时,您会使用 $生产的NODE_ENV?)仍然是正确的解决方法,在我看来不是那么谦虚:)【参考方案3】:

我删除了行

fsevents@^1.2.7, fsevents@^2.0.6:
  version "2.0.7"
  resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.0.7.tgz#382c9b443c6cbac4c57187cdda23aa3bf1ccfc2a"
  integrity sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==

  optionalDependencies:
    fsevents "^2.0.6"

来自yarn.lock。接下来我删除了

    "fsevents": "2.0.7",

来自resolutions 输入package.json

终于可以看到yarn install

info fsevents@2.0.7: The platform "linux" is incompatible with this module.
info "fsevents@2.0.7" is an optional dependency and failed compatibility check. Excluding it from installation.

success Saved lockfile.

你不需要这个模块,因为它只适用于 MacOS

在 Node.js 中原生访问 MacOS FSEvents

https://www.npmjs.com/package/fsevents

【讨论】:

是否推荐手动编辑 yarn.lock? 我认为不推荐,但 fsevents 应该是可选依赖,因为只有在 mac 上才需要。包依赖列表或纱线中可能存在错误。

以上是关于如何修复:“错误 fsevents@2.0.7:平台“linux”与此模块不兼容。”的主要内容,如果未能解决你的问题,请参考以下文章

如何修复漏洞

如何修复WMI

PHP网站漏洞怎么修复 如何修补网站程序代码漏洞

如何修复这些漏洞? (npm audit fix 无法修复这些漏洞)

如何修复AppScan漏洞

如何在DOS环境下修复系统