Clean Gatsby 5.2 安装为 `react-server-dom-webpack` 抛出 `NPM WARN` 标志

2024-03-01

使用干净的 Gatsby 5.2 安装后Gatsby CLI,我需要帮助理解我的终端输出,它显示了多种NPM WARN flags.

我有三个问题;

  1. 造成这些错误的原因是什么?
  2. 为什么全新安装时会出现这些错误?
  3. 解决此类问题的首选方法是什么?

我在 S.O. 上问这些问题因为我想先发制人地学习如何正确理解和处理它们。

我在 S.O. 上阅读了一些类似的问题,有些人建议使用--legacy-peer-deps flag.

我理解为什么有人可能会使用--legacy-peer-deps一般来说,但我很难理解为什么要发布新版本,即(Gatsby 5.0),需要使用--legacy-peer-deps.

NPM 错误仍然是我的痛点,所以我正在寻找易于理解的阅读材料. Or 全面的解释如果可能的话。

运行后: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

%

运行后预期结果: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
% 

运行后实际结果:npm i

% npm i
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving: [email protected] /cdn-cgi/l/email-protection
npm WARN Found: [email protected] /cdn-cgi/l/email-protection
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 [email protected] /cdn-cgi/l/email-protection
npm WARN node_modules/react-server-dom-webpack
npm WARN   react-server-dom-webpack@"0.0.0-experimental-c8b778b7f-20220825" from [email protected] /cdn-cgi/l/email-protection
npm WARN   node_modules/gatsby
npm WARN 
npm WARN Conflicting peer dependency: [email protected] /cdn-cgi/l/email-protection
npm WARN node_modules/react
npm WARN   peer react@"0.0.0-experimental-c8b778b7f-20220825" from [email protected] /cdn-cgi/l/email-protection
npm WARN   node_modules/react-server-dom-webpack
npm WARN     react-server-dom-webpack@"0.0.0-experimental-c8b778b7f-20220825" from [email protected] /cdn-cgi/l/email-protection
npm WARN     node_modules/gatsby
npm WARN deprecated [email protected] /cdn-cgi/l/email-protection: 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 [email protected] /cdn-cgi/l/email-protection: 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 [email protected] /cdn-cgi/l/email-protection: 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.
% 

我自己的结论:

经过一番研究,我发现 Gatsby 需要一个实验版本react-server-dom-webpack用于部分水合。这可以通过检查来确认package.json文件输入node_modules/react-server-dom-webpack在我的项目中。

和官方对比后package.json https://github.com/facebook/react/blob/9c09c1cd62ef862df91bcb4df4271917629d6963/packages/react-server-dom-webpack/package.json#L53文件中,我注意到这两个文件具有不同的配置。为了更好地理解这一点,我在 Gatsby 存储库中创建了一个问题。你可以找到问题所在here https://github.com/gatsbyjs/gatsby/issues/37242.

综上所述,Gatsby 目前使用的是实验版本react-server-dom-webpack https://www.npmjs.com/package/react-server-dom-webpack/v/0.0.0-experimental-996e4c0d5-20221212?activeTab=explore,它将 React 的实验版本设置为对等依赖项。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Clean Gatsby 5.2 安装为 `react-server-dom-webpack` 抛出 `NPM WARN` 标志 的相关文章

  • 呃!尝试将包发布到 npm 时出现 403

    我正在尝试将包发布到 npm 您可以在此处查看存储库 https github com biowaffeln mdx state https github com biowaffeln mdx state 我登录到 npmnpm login
  • 如何使用Create React App安装React

    嗨 我对反应真的很陌生 我不知道如何实际安装它 也不知道我需要做什么才能在其中编写代码 我下载了node js并且安装了v12 18 3以及NPM 6 14 6 但是每次我尝试在许多网站上提到的create react app安装方法中输入
  • gulp-sass 5 没有默认的 Sass 编译器;请自行设置

    插件 gulp sass 错误 信息 gulp sass 5 没有默认的 Sass 编译器 请自行设定 这俩sass and node sass包裹是允许的 例如 在你的 gulpfile 中 var sass require gulp s
  • 运行“npm install”:Node-gyp 错误 - MSBUILD.exe 失败,退出代码:1

    我在跑npm install在 Windows 上安装我的项目中的所有软件包 然后我收到有关 MSBUILD exe 的错误 gyp ERR stack Error C Program Files x86 Microsoft Visual
  • 我该如何找出 npm 包的最新稳定版本?

    如何找到 npm 包的最新稳定版本 除了去http search npmjs org http search npmjs org并寻找它 我通常需要该版本才能将其放入我的package json Use npm view package n
  • 如何从 Typescript 中导入的文件推断类型

    我有一个棘手的打字稿问题 我似乎无法解决 我想根据泛型推断值 然而 问题是推断的类型需要来自导入的文件 用一个例子来解释 这是我的通用函数 import DocumentNode print from graphql type Graphq
  • 将node_modules安装到vendor

    如何在本地为每个项目安装 npm 模块vendor node modules和做package json文件看到他们 我不想将 package json 移动到供应商文件夹 我有凉亭 在 bowerrc我指定bower components
  • 如何使用 gatsby-image 不裁剪地显示图像?

    实例 图像可能加载缓慢 https suhadolnik photo surge sh portreti https suhadolnik photo surge sh portreti 我正在使用 GatsbyJS 制作一个摄影网站 并使
  • Nodejs 在 Windows 上找不到已安装的模块

    我现在正在Windows上学习nodejs 使用npm cmd全局安装了几个模块 nodejs找不到已安装的模块 以玉石为例 npm install jade g Jade安装在目录中 C Program Files x86 nodejs
  • 如何从 github 安装需要构建步骤的 npm 包,例如什么时候分叉一个库?

    假设您使用类似的库vue3 datepicker https www npmjs com package vue3 datepicker 您意识到您需要自定义某些内容 并且作为第一步 您想要使用它的自定义分支 问题是 当包被推送到 npm
  • Git 与人工制品

    刚刚完成 NPM 和 Bower 的 Artifactory 设置 它非常容易使用 您只需更改存储库 URL 一切就正常了 查看有关如何让 Artifactory 与 github vcs 一起使用的文档 它看起来过于复杂 我想知道是否有人
  • MacOS Big Sur 中的 NPM 错误“找不到 Python 可执行文件”

    我已经花了整整一周的时间寻找这个问题的答案 但没有成功 我查看了每个 StackOverflow 帖子 Google 的每一篇文章以及我能找到的每个相关的 Github 问题 大多数相关错误似乎都比较旧 所以我想知道我的问题是否由于我使用的
  • 无法从 bash 脚本使用 nvm

    我正在尝试编写一个 shell 脚本来自动设置我的开发环境 安装 python nvm node mongo 等 我正在使用 nvm 来安装 Node js 它告诉您关闭并重新打开终端以开始使用 nmv 命令 我尝试获取 bashrc 和
  • Nodejs + npm,在ntfs分区安装模块

    我在安装 npm 模块时遇到问题 NodeJS 安装在 Windows 主机上 Virtual Box 上运行的 Ubuntu 11 10 上 我的项目文件位于 NTFS 分区上 我必须与 Windows 共享它们 当我尝试安装某些 npm
  • 如何在模式中嵌套两个 graphQL 查询?

    我创建了一个GraphQL模式有两个字段 都使用resolve 从 mongoDB 获取数据 这样 查询 article id Dn59y87PGhkJXpaiZ title articleContent id Dn59y87PGhkJXp
  • 在调试模式下运行 NPX 命令

    我有一些npx create react app命令卡住了 终端上没有显示任何错误 所以 我需要运行npx in 调试模式 有没有办法获得debug登录npx命令来识别问题 edit 我运行的命令 npx create react app
  • apollo 客户端从存储中删除而不发生突变

    我需要通过 id 从本地存储中删除一条 记录 而不使用突变 因为服务器不支持突变 我尝试像这样手动访问商店 delete this apolloClient store getState apollo data 1112 这会删除记录 但是
  • jest 无限期挂起,不运行任何测试

    每次我运行 jest 时它都不会运行任何东西 我已经让计数器任意升高 我用 no cache 运行 jest jest debug 输出如下 configs automock false browser false cache true c
  • 如何在 Prisma 中指定可选查询过滤器?

    我正在使用 React Apollo 和 Prsima 构建一个应用程序 允许用户按型号 品牌 价格过滤汽车 我知道 例如 如何按品牌过滤汽车 const GET CARS gql query FilterCars brandId ID c
  • 在一个react-native项目中使用谷歌地图和FCM

    I want to use google map and FCM in one react native project first I added FCM in project everything was okay but when I

随机推荐