使用 进行干净的 Gatsby 5.2 安装后Gatsby CLI,我需要帮助理解我的终端输出,其中显示了大量NPM WARN标志。
我有三个问题;
我在这里问这些问题是因为我想先发制人地学习如何正确理解和处理它们。
我在这里阅读了一些类似的问题,其中一些建议使用该--legacy-peer-deps标志。
我理解为什么有人可能--legacy-peer-deps一般使用该标志,但我很难理解为什么新版本,即(Gatsby 5.0),需要使用--legacy-peer-deps.
NPM 错误仍然是我的痛点,所以我正在寻找易于理解的阅读材料。或者如果可能的话,提供全面的解释。
运行后:gatsby info --clipboard
% gatsby info --clipboard
System:
OS: macOS 13.0.1
CPU: (16) x64 Intel(R) Xeon(R) W-2140B CPU @ 3.20GHz
Shell: 5.8.1 - /bin/zsh
Binaries:
Node: 18.12.1 - ~/.nvm/versions/node/v18.12.1/bin/node
npm: 8.19.2 - ~/.nvm/versions/node/v18.12.1/bin/npm
Browsers:
Chrome: 108.0.5359.98
Safari: 16.1
npmPackages:
gatsby: ^5.2.0 => 5.2.0
gatsby-plugin-image: ^3.2.0 => 3.2.0
gatsby-plugin-manifest: ^5.2.0 => 5.2.0
gatsby-plugin-sharp: ^5.2.0 => 5.2.0
gatsby-source-filesystem: ^5.2.0 => 5.2.0
gatsby-transformer-sharp: ^5.2.0 => 5.2.0
npmGlobalPackages:
gatsby-cli: 5.2.0
%
Run Code Online (Sandbox Code Playgroud)
运行后预期结果:npm i
% npm i
removed 1505 packages, and audited 83 packages in 8s
20 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
%
Run Code Online (Sandbox Code Playgroud)
运行后实际结果:npm i
% npm i
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving: react-server-dom-webpack@0.0.0-experimental-c8b778b7f-20220825
npm WARN Found: react@18.2.0
npm WARN node_modules/react
npm WARN react@"^18.2.0" from the root project
npm WARN 10 more (react-dom, gatsby, gatsby-plugin-image, ...)
npm WARN
npm WARN Could not resolve dependency:
npm WARN peer react@"0.0.0-experimental-c8b778b7f-20220825" from react-server-dom-webpack@0.0.0-experimental-c8b778b7f-20220825
npm WARN node_modules/react-server-dom-webpack
npm WARN react-server-dom-webpack@"0.0.0-experimental-c8b778b7f-20220825" from gatsby@5.2.0
npm WARN node_modules/gatsby
npm WARN
npm WARN Conflicting peer dependency: react@0.0.0-experimental-c8b778b7f-20220825
npm WARN node_modules/react
npm WARN peer react@"0.0.0-experimental-c8b778b7f-20220825" from react-server-dom-webpack@0.0.0-experimental-c8b778b7f-20220825
npm WARN node_modules/react-server-dom-webpack
npm WARN react-server-dom-webpack@"0.0.0-experimental-c8b778b7f-20220825" from gatsby@5.2.0
npm WARN node_modules/gatsby
npm WARN deprecated async-cache@1.1.0: No longer maintained. Use [lru-cache](http://npm.im/lru-cache) version 7.6 or higher, and provide an asynchronous `fetchMethod` option.
npm WARN deprecated stable@0.1.8: Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility
npm WARN deprecated babel-eslint@10.1.0: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.
added 1505 packages, and audited 1588 packages in 1m
325 packages are looking for funding
run `npm fund` for details
15 moderate severity vulnerabilities
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
%
Run Code Online (Sandbox Code Playgroud)
Bea*_*iie 19
我自己的结论:
经过一番研究,我发现盖茨比需要一个实验版本react-server-dom-webpack来进行部分水合作用。这可以通过检查我的项目package.json中的文件来确认node_modules/react-server-dom-webpack。
与官方package.json文件进行比较后,我发现这两个文件的配置不同。为了更好地理解这一点,我在 Gatsby 存储库中创建了一个问题。您可以在这里找到问题。
综上所述,Gatsby 目前使用的是实验版本react-server-dom-webpack,它将实验版本的 React 设置为对等依赖。
Mic*_*ahl 11
在 Gatsby 修复此问题并且您想要删除此警告之前,您可以将其添加到 package.json 中以告诉 npm 要使用哪个依赖项版本:
"overrides": {
"react-server-dom-webpack@0.0.0-experimental-c8b778b7f-20220825": {
"react": "^18.2.0"
}
}
Run Code Online (Sandbox Code Playgroud)
链接到 github 中的评论,我在其中找到了此修复程序。
| 归档时间: |
|
| 查看次数: |
2454 次 |
| 最近记录: |