考虑到这package.json:

{
  "name": "yarn-install-fail",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {},
  "author": "",
  "license": "ISC",
  "dependencies": {
    "aws-sdk": "2.x.x",
    "s3-streams": "^0.3.0"
  }
}

我可以通过npm成功安装依赖项:

$ npm install

added 27 packages in 1.844s

然而,Yarn 失败了:

$ yarn install
yarn install v0.24.5
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
error s3-streams@0.3.0: The engine "node" is incompatible with this module. Expected version "^1.2.0".
error Found incompatible module
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

看起来Thread在安装library s3-streams@0.3.0时遇到了问题,但我认为它会像安装npm一样,退一步安装所有依赖项.

推荐答案

您确实可以通过--ignore-engines忽略此类错误:

$ yarn install --ignore-engines
yarn install v0.24.5
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
Done in 1.41s.

这也记录在命令的帮助中:

$ yarn help | grep -- --ignore
    --ignore-scripts                  don't run lifecycle scripts
    --ignore-platform                 ignore platform checks
    --ignore-engines                  ignore engines check
    --ignore-optional                 ignore optional dependencies

Node.js相关问答推荐

MongoServelSelection错误:服务器 Select 在30000 ms后超时

postgresql层与应用层的序列化

从目录中获取所有文件,而不是NodeJS中的单个文件

如何在不丢失其他键的情况下解开子文档数组,然后反转该过程?

未显示NPM版本

FHIR 服务器:尽管 JSON 格式正确,但在 POST 请求中接收未定义请求正文

遇到 - TypeError:try 使用 Express(Node.js) 从 JSON 文件访问数据时无法读取未定义的属性(读取帖子)

为什么这个 module.export 函数如果我直接传递它就不起作用,但如果我将它包装在一个匿名函数中就可以工作

npm install 在 Mac 上的 Node-gyp 构建错误

如何删除mongodb中嵌套数组中所有出现的数组元素

Express.js - 监听请求中止

Firestore promise 在退货前等待产品详细信息

Cypress net::ERR_EMPTY_RESPONSE 在真实服务器调用上

`npm install` 以Killed结尾

如何在 AWS 上的 Amazon Linux AMI 中自动启动 node.js 应用程序?

带有加密的nodejs中的SALT和HASH密码

node.js(ES6 / Babel)中 import X 和 import * as X 的区别?

Node.js 连接仅适用于本地主机

yarn 和 npm 的主要区别是什么?

nodemon + express,监听端口=?