如何修复:“错误 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”与此模块不兼容。”的主要内容,如果未能解决你的问题,请参考以下文章