Request: 请求的过去、现在和未来

创建于 2019-03-30  ·  352评论  ·  资料来源: request/request

在我进入细节和推理之前,我将直奔主题。 request可以为 JavaScript 生态系统做的最有价值的事情是进入维护模式并停止考虑新功能或主要版本。

提前向request上的其他提交者道歉,他们一直在尽最大努力改进它,但这是最好的。

2009年

request的第一个版本是为 Node.js 生态系统创建的首批模块之一。 最早的版本被写入 API 中,这些 API 早于标准回调接口、流、node_modules 和 npm。 在最初的几年里, request和 Node.js 一起发展,互相学习。 随着 Node.js 改进和迁移核心接口,请求也是如此。 当 request 采用对核心 http 库和流的更改时,它还通知了诸如pipe事件(启用request的单行代理)和 Core http 的许多重写之一(一个我不得不写)。

新产品经理

request是最早添加到 npm 注册表的模块之一。 随着 npm 的增长,对request依赖也在增长。 即使现在,当npm用于前端工作而不是后端工作时, request仍然是注册表中最依赖的模块之一。 在我撰写本文时,41K 模块取决于请求,每周下载 1400 万次。

request在 Node.js 生态系统中的位置不再是创新者,而是现任者。 如果您在 Google 上搜索如何在 Node.js 中使用 HTTP 执行某些操作,这些示例可能会将request为客户端,将express为服务器。 这有两个明显的不良影响。

由于request对生态系统的现有地位,完成类似任务的新图书馆要获得采用要困难得多。 以任何有意义的方式更改请求也非常困难,因为更改不仅可能不被其大多数依赖者采用,而且会使它与使用request的数千篇博客文章和堆栈溢出响应不一致

现代 JavaScript

过去几年在 JavaScript 中是戏剧性的。 人们多年来谈论的功能从想法到标准,再到您可以在大多数环境中可靠地依赖的功能。 这些被采用的速度是惊人的,这主要归功于自动更新浏览器和积极的 Node.js 发布时间表。

request的核心模式已经过时。 有些人可能会反对这种评估,我知道他们是谁,所以我不会感到惊讶,但这是真的。 我经常怀疑其中一些功能会产生什么影响,但我发现自己在它们仅在最新版本的 Node.js 中可用后不久就批发采用了它们。

现在生态系统正在向这些模式转变。 这将是多么混乱仍然悬而未决,我不会尝试阅读茶叶并弄清楚在这方面的未来会是什么样子。 request是“我们是否尝试在过渡中生存?” 一年前,我认为答案是显而易见的,我们会的,但现在我确信相反。

为真正拥抱这些新语言模式而编写的request版本实际上是一个新模块。 我已经探索了这个空间,并且有一个我很满意的项目,但它在所有可能的方面都与request不兼容。 与旧模式不兼容但尚未完全接受新模式的request版本的

这些新模块最好的事情是request慢慢消失,最终成为遗留堆栈的另一个记忆。 占据现在request的位置并将其用于下一代开发人员的更大份额将是对这些开发人员的损害,因为这会使他们远离没有request负担的更好的模块

维护模式

这是计划。

  • request将停止接受新功能。
  • request将停止考虑中断更改。
  • 仍然活跃的提交者将尝试及时合并修复程序,但没有承诺。
  • 发布将完全自动化,任何与 master 的合并都将被发布。 我已经使用 GitHub Actions

    • 我们将不得不移除不活跃的协作者并强制执行 2fa,因为提交权限将有效地变成 npm 发布权限。

neverstale

最有用的评论

我完全支持这一点,我认为警告消息和/或弃用新版本是正确的。

至于流程和指导方针的改变,让我的工作轻松了很多👌

所有352条评论

我完全支持这一点,我认为警告消息和/或弃用新版本是正确的。

至于流程和指导方针的改变,让我的工作轻松了很多👌

@mikeal 说得很好。 我固定这个问题以获得更多的知名度。

我们可能会做的事情 - 请讨论和自愿!

  • [] 使用项目的当前状态更新自述文件
  • [] 更新 ci 发布管道@mikeal
  • [] 提供有关request替代方案的一些指导的文档https://github.com/request/request/issues/3143
  • [ ] 在安装包时添加警告消息以使用另一个包并参考文档
  • [ ] 选择一个停止支持的日期(我投票 6 个月,但 12 个月可能更友好)
  • []关闭所有功能请求和功能prs
  • [ ] 审查并合并相关的错误修复
  • [ ] 添加 github 问题和 pr 模板,说明不会合并功能
  • [ ] 弃用下一个主要版本 ( 3.x ),因此处于活动维护中的项目会收到警告,但较旧的项目会照常继续

这很有道理! 我也会慢慢为request-promise家庭采用这个政策。 为您对节点生态系统的重要贡献干杯!

弃用最新的 npm 包并在发布时自动弃用它们

请注意弃用。 正如 Mikael 上面所写,有 41K 模块取决于request 。 这些模块中的许多在当前状态下都很有用,并且对他们的用户来说效果很好,但是他们的维护者可能没有时间重新设计这些模块以使用request以外的其他东西。 通过在安装时弃用request ,您基本上会弃用 npm 模块生态系统的很大一部分。

在我看来,维护模式与弃用不同。

  • 维护模式 = 我们将修复错误和安全漏洞,以便您可以继续使用此软件包。
  • 弃用 = 没有人应该再使用这个包了。 这通常发生在模块被放弃并且不会收到任何进一步的错误或安全修复时。

我听你的。 全文

弃用最新的 npm 包并在通过 ci 发布时自动弃用它们 __(也许在支持停止之后?)__

我认为我们最终应该弃用request因为我不希望新项目使用它。
我一直在尝试将问题和 prs 分类为我们可以解决的列表,但是有些错误我们无法在不进行重大更改的情况下修复。 因此他们不会得到修复,新用户会遇到问题。

例如,重定向后会丢失请求正文和 cookie,而删除相对路径的 url 解析都是错误,但我不确定它们是否会得到修复。

也许弃用不是正确的答案,但我不知道还有什么方法可以解决这个问题。

那有意义吗?

当我们弃用时,让我们只修改主要版本。 这样,大多数依赖该项目的人在尝试升级到新专业之前不会看到此错误,这意味着他们正在积极开发它并且确实应该寻找替代方案。

我很自豪能够成为request历史的一部分。 我还将查看bent ,它看起来很有趣,以及这些天对我来说更重要的 _small_。

我们将不得不移除不活跃的协作者并强制执行 2fa,因为提交权限将有效地变成 npm 发布权限。

把我删掉就好了。

我认为我们最终应该弃用请求,因为我不希望新项目使用它。

作为一个非常感谢这个模块并且一直使用它的程序员,我想在新项目中使用它。

这个决定一定很难做出,但在极端情况下还是值得称赞的。 做得好。

我很自豪使用了这个神奇的工具。 它迫使社区改善。 🙏
如果您需要帮助来维护它,请随时与我联系。

虽然我尊重您的决定,但我会请您考虑当前现实世界、生产和代码依赖于请求的程度。 它甚至比 NPM 统计数据所能告诉你的还要多。 我完全理解想要转向新事物并以新的、更有趣的方式做某事……毕竟这是 JavaScript 生态系统,必须追逐新事物。 但是请考虑一下批发弃用请求将花费专业工程组织的时间和金钱数量。 如果您想将其保留在维护模式,那很好,但要了解很多人绝对没有实际理由更改库。 强迫人们因意识形态而改变会导致沮丧。

无论如何,感谢每个人为这个图书馆付出的辛勤工作。

我想知道现在可以被认为是现代的和推荐的图书馆。 Superagent 目前主要处于维护模式,axios 不太活跃。

只是一个简短的说明,感谢您(和所有其他贡献者)多年来在此模块上的所有辛勤工作; 当我开始使用 Node 时,它​​是我使用过的第一个,所以在我心中永远有一个特殊的位置。

当我们弃用时,让我们只修改主要版本。 这样,大多数依赖该项目的人在尝试升级到新专业之前不会看到此错误,这意味着他们正在积极开发它并且确实应该寻找替代方案。

我认为这仍然是上述提到的可行解决方案。

@kibertoad看起来@mikeal正在处理https://github.com/mikeal/bent 。 我多年来一直在使用https://github.com/sindresorhus/got ,它得到了很好的支持和发展。

有了所有这些讨论以及它被弃用的可能性,我认为必须同样提及当前成熟度替换模块,并行实用程序。 我们不能只是宣布它的结束,然后什么都不建议,或者用更少的成熟度和信心来替代。 Request 用于严肃的应用程序。 为什么这很重要? 因为尽管它的“核心是过时的模式”,但它每天都在为数千人工作。 这不是关于完美世界,而是关于现实世界。 在请求被置于维护模式或被弃用的那一天,真实世界的替代品是什么? 这是势在必行的。

你可以在这里找到讨论https://github.com/request/request/issues/3143

您可以在此处找到当前的工作计划(欢迎直接反馈) https://github.com/request/request/issues/3142#issuecomment -478303334

感谢您在request上所做的工作!

请求的核心模式已经过时。

模式每隔几个月和几年就会改变一次,尤其是在 JavaScript 社区。 当初创建request的理由,今天不是还有效吗?

request拥有 10 年的提交、稳定性和测试。 为什么要从头开始? 这不只是增加了更多的“JavaScript 疲劳”,导致更多的库做同样的事情——HTTP 请求?

看到 Node 历史上如此重要且具有历史意义的库消失了,令人难过,因为流和回调在 2019 年不再受欢迎。

我不认为真的需要弃用库,它已经存在大约 10 年了,在很多地方使用并且实际上非常稳定,最后。 它所做的只是发出 HTTP 请求,库还需要什么? 支持本月的 JS 风潮? 👎

仍然活跃的提交者将尝试及时合并修复程序,尽管没有承诺

ba-dum-chhh! 🥁

这是负责任的弃用。 沟通良好,有计划跟进。 我认为其他 OSS 维护者可以将此视为目标标准。

这比忘记一个包并让随意的人(他们可以将后门注入代码中)作为维护者在您不再关心时接管要好得多。

Request 是一个很棒的包,我们非常感谢您对早期节点生态系统的贡献。 您的评估是正确的,回调风格不再是惯用的 JavaScript,还有其他包,如 fetch,它们反映了 WHATWG 标准。

@stcktrce确实,该库不需要其他任何东西,它按原样工作。 但是整个生态系统已经有了重大改进。 弃用图书馆只是标志着其他人有机会检查新的和更现代的图书馆,而不是简单地依赖那里最受欢迎的图书馆。

@mikeal感谢您在图书馆(也是r2 )和生态系统中的所有努力。 此外,为了在生态系统中设置这种经过深思熟虑和有计划地弃用的优先级。

当我们弃用时,让我们只修改主要版本。 这样,大多数依赖该项目的人在尝试升级到新专业之前不会看到此错误,这意味着他们正在积极开发它并且确实应该寻找替代方案。

@mikeal我认为这不是个好主意。

问题是大多数替代品的质量低于要求。 大约一周前,我刚从axios搬到request

Axios 在代理支持、修改 https 代理和未处理的承诺异常方面存在多年持续错误。 你只有在大量投资 axios 后才会发现这些。

对于新用户,axios 表面上看起来和请求一样好(类似的用户数量,设计承诺等)

感谢request :)

如果有人正在寻找具有可插入过滤器和对流的良好支持的最小的基于httplease 。 我们已经在生产中使用它几年了。

我喜欢请求模块。非常感谢。
您的意思是请求获得太多关注以防止其他相同的新模块出现?

如果其他库中的类似功能存在特定错误,我想特别指出它们。 代理支持是一个复杂的功能,拥有一个请求通过但其他库失败的测试用例是非常有价值的。

@reconbot在最新的axios (^0.18.0) 中,您无法通过代理服务器连接到https站点。 这样做会导致EPROTO错误。 这是一个关于此的开放错误,但问题可以追溯到几年前: https :

编辑:具体来说,您不能使用 axios 通过 http 代理执行 https 请求。 也许专用的 https 代理有效,没试过。

我当然希望修复不会被视为新功能,例如我对最大响应大小的拉取请求,我认为这是任何成熟库的标准必需功能。

在我选择这个之前,我也确实检查了其他请求库,其中大多数都非常有问题,不完整和有缺陷。 他们的文档也没有衡量。 除了未经测试的代码和错误,我真的不知道另一个库会带来什么,这并不是说有一种新的方法来发出 HTTP 请求。 这一切都是关于包装 http/https 模块并提供合理的默认值,例如缓冲响应、解码响应,当然还有承诺整个事情的能力。 这个库的最大问题是完全兼容性的目标,试图与遗留的东西兼容只会带来痛苦和遗留编码实践。 但这可以通过多种方式解决。 有一个很好的基础,可以重构为优雅、现代和简约的东西。 最重要的是可靠。 有很多方法可以做到这一点 - 拆分成更多文件,将 ECMA6 与 Babel 或 Typescript 一起使用。

没有理智的开发人员想要 10 个做同样事情但缺乏不同功能、有缺陷、没有文档的库。 这个库确实有效,我很感激它,并希望它不会被弃用,而是被复兴。

修复不被视为新功能。 修复程序将合并至少一年,甚至可能更长。

-迈克


来源:mivanovaxway [email protected]
发送: 2019 年 4 月 11 日,星期四 2:38 AM
至:请求/请求
抄送:麦克尔·罗杰斯; 提到
主题:回复:[请求/请求] 请求的过去、现在和未来 (#3142)

我当然希望修复不会被视为新功能,例如我对最大响应大小的拉取请求,我认为这是任何成熟库的标准必需功能。

在我选择这个之前,我也确实检查了其他请求库,其中大多数都非常有问题,不完整和有缺陷。 他们的文档也没有衡量。 除了未经测试的代码和错误,我真的不知道另一个库会带来什么,这并不是说有一种新的方法来发出 HTTP 请求。 这一切都是关于包装 http/https 模块并提供合理的默认值,例如缓冲响应、解码响应,当然还有承诺整个事情的能力。 这个库的最大问题是完全兼容性的目标,试图与遗留的东西兼容只会带来痛苦和遗留编码实践。 但这可以通过多种方式解决。 有一个很好的基础,可以重构为优雅、现代和简约的东西。 最重要的是可靠。 有很多方法可以做到这一点 - 拆分成更多文件,将 ECMA6 与 Babel 或 Typescript 一起使用。

没有理智的开发人员想要 10 个做同样事情但缺乏不同功能、有缺陷、没有文档的库。 这个库确实有效,我很感激它,并希望它不会被弃用,而是被复兴。


你收到这个是因为你被提到了。
直接回复本邮件,在 GitHub 上查看https://github.com/request/request/issues/3142#issuecomment-482043697 ,或将线程静音https://github.com/notifications/unsubscribe-auth/AAACQ8I4BSRtOjqHk637gRfBhkvGbRKIJcTvLiks5m

TIL 41k 包刚刚变得脆弱。

看,我同意这个请求应该消失,但我总是担心像这样的主流软件包会改变他们的发布渠道。 发布恶意代码的一个不良行为者或一个受损的开发箱会有效地传播到那里的每个项目。

请考虑收紧 npm push 要求。 为 ci 设置一个分支,需要多次批准,不仅仅是简单地推送到 master。

虽然没有承诺。

双关语意? 🤣

也许同样的逻辑推理应该应用于expressjs? 对于请求,我们现在有新的闪亮的 got 模块,没有重写或真正的替代 expressjs 即将出现。

express 很棒,但这些年来并没有真正积极更新新功能

express 可能不会更新新功能,但它得到了积极维护,上次我检查时,有一些人仍然对做这项工作很感兴趣。 我不知道他们需要采取我们为弃用而采取的步骤。

@laoshawrequest什么关系?

我们已完全弃用!

npm 上的所有版本都注意到弃用,自述文件清楚地指出request已被弃用。

感谢过去十年做出贡献的每个人,这 10 多年是美好的。 让我们共同期待更适合 JS 语言和生态系统正在发生的变化的新库。

所以让我们得到具体的。
请求模块的精益代码替换是什么?

不要被留在死壳上......这么多更好的选择......比如哪些?
请不要在 sun 库/模块下做所有事情。

@riclf 几年来,我们一直在使用 https://github.com/googleapis/teeny-request/ 来帮助我们摆脱请求。 它不会完成您想要它做的所有事情:) 它在幕后使用node-fetch 。 还有其他很棒的选择!

对于 promise-first 解决方案,还有gofer ,它主要关注 API 通信。 支持内置的 TCP 连接超时、易于配置(和丰富的错误)以与多个 API 对话等。

有没有人对支持 HTTP 长轮询并作为流或事件发射器呈现的替代客户端有任何建议?

我上次检查是在 2019 年 4 月,诸如gotnode-fetchaxios类的替代方案有一个主要问题:当(低级网络)错误发生时,他们丢弃了Node.js 核心报告的有用堆栈跟踪并引发了一个新的高级错误,堆栈跟踪仅指向 http 客户端库。 这使得调试传输级问题几乎不可能,例如当涉及代理时。

是否有任何好的request替代方案可以保留 Node.js 核心提供的错误详细信息?

@bajtos我很确定gofer仅修饰原始错误,但应保留堆栈跟踪和消息。

bent有很好的错误并且是为 async/await 设计的。 它也非常小,而且包的大小非常小 ;)

API 与请求完全不同,所以我不会称其为“替代品”。

@mikeal为什么叫bent ? (请求是一个更容易记住的名字。)

bent有很好的错误并且是为 async/await 设计的。 它也非常小,而且包的大小非常小 ;)

API 与请求完全不同,所以我不会称其为“替代品”。

这感觉非常像技术上正确而不是用户友好的逻辑。 从用户的角度来看,bent 解决了与 request 相同的问题,但更好。 现在它无缘无故地被一个更糟糕的名字所困扰。 您可以将其称为请求 3,没有太多问题 imo。 是的,API 正在中断,但我们有 semver 的用途是什么。

您可以将其称为请求 3,没有太多问题 imo。 是的,API 正在中断,但我们有 semver 的用途是什么。

花一些时间与bent ,您可能会有不同的感受。

命名或承诺与回调的区别并不小。 人体工程学非常不同,它表面的状态非常不同,它考虑错误情况的方式是一种完全不同的方法。

request是一个更加程序化的 API,你告诉它做某事,它告诉你发生了什么,它只会在某些不可恢复的失败时给出错误。 bent接受整个生命周期的成功标准,并返回一个 API,如果不满足成功标准,则该 API 将失败。

您使用这些库的方式非常不同。 如果这是您想要的,还有其他更接近request的 API 的库,但是经过近 20 年的 HTTP 客户端工作,我发现了一种不同且最终更好的方法,我会鼓励人们考虑一下,但我不会把它变成request 3.0 来让每个人都难受。

为什么叫弯? (请求是一个更容易记住的名字。)

因为你将它“弯曲”成特定的形状(非常特殊的成功标准),它为该形状的成功提供了理想的 API,但除此之外的任何事情都会失败。

这个名字有点抽象,但request是你今天永远得不到的名字。 我在 npm 注册表中几乎没有request并且我写了原始的 npm 注册表😜

“得到”作为替代品怎么样,很遗憾我们没有明确的替代品,而请求被正式弃用。

“得到”作为替代品怎么样,很遗憾我们没有明确的替代品,而请求被正式弃用。

也许我们应该把没有人写出兼容 API 的替代品作为一个迹象,表明一旦你坐下来研究它,采用兼容 API 的替代品是不可取的 🧐

那当然是我的经验。

也许人们在要求“替换”时真正想要的并不是 API 兼容的替代方案,而是维护者对其他包已经存在以解决大致相同的问题的看法,这使得这个包变得无关紧要您可以自信地称其为“已弃用”。

我会说在弃用通知中为bent做广告(可能还有其他一些,如果这让你感觉更舒服)是一种很好的方式来开始了解它,尽管命名不明确。


Angluar 8 请求模块已弃用

npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
npm ERR! code E404
npm ERR! 404 Not Found: error-ex@^1.3.1

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Ammar\AppData\Roaming\npm-cache\_logs\2020-02-12T04_18_22_538Z-debug.log

您真的了解“已弃用”的真正含义吗?

已弃用。 在软件开发领域,“弃用”是指正在被更新的功能或元素所取代的功能或元素。 该术语来自“弃用”一词,意思是不赞成某事。

实际上,这意味着当我维护我的任何(非开源)模块时,我会收到愚蠢的错误消息。

151 个问题和 55 个拉取请求怎么样? 甩掉他们?

而且我会说弃用通知中的广告(如果这让你感觉更舒服,可能与其他人一起)是开始了解它的好方法,尽管命名模糊。

这还为时过早 - 请参阅弯曲的第 2 期。

我认为该请求应该进入不确定模式 - 不会被弃用,这会导致愚蠢的警告 - 但是在没有进行任何事情的情况下,所有问题和拉取都将被忽略并且应该更新自述页面以注意这一点,并且在适当的时候,参考将被包含在其他功能等效的软件包中。

151 个问题和 55 个拉取请求怎么样? 甩掉他们?

一段时间以来,没有人修复或审查这些内容,它们已经被“抛弃”了。

您的评论听起来好像在这个项目中人们有权获得某种专门的劳动。 事实并非如此, request不是由公司发布和支持的产品,它一直由关心的开源开发人员维护,并且随着生态系统朝着新的方向发展,我们也随之而动. 我建议你也继续前进。

一段时间以来,没有人修复或审查这些内容,它们已经被“抛弃”了。

您的意思是您已经有一段时间没有查看这些内容了。 公平地说,我们这些不是合作者的人无法控制这一点。

您的评论听起来好像在这个项目中人们有权获得某种专门的劳动。

我不是那个意思,但从某种意义上说这是真的,开源软件授予用户某些权利,同时保护开发者的权利。 这些权利是使用而不是维护。 当维护或进一步开发涉及破坏性更改时,需要非常小心和考虑。 这是一个突破性的变化,在我看来是不必要的。 保持模块不变,我们将继续进行下一个项目 - 特别是如果替代方案具有优势。 的确,我们不这样做是愚蠢的。 但据我所知,目前没有真正的替代方案。

开源软件授予用户某些权利

OSS 许可提供重新分发和修改的权利,对软件对任何特定用途的适用性不做任何形式的保证。 不保证未来的变化,包括潜在的破坏性变化。

这是来自 Apache 2 许可证的相关文本。 几乎每个开源许可证都有这个。

“Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.”

这是一个突破性的变化,在我看来是不必要的。 保持模块不变,我们将继续进行下一个项目 - 特别是如果替代方案具有优势。 的确,我们不这样做是愚蠢的。 但据我所知,目前没有真正的替代方案。

这是事情。 此代码具有无法修复的已知错误。 此代码不再维护并已弃用。

弃用警告表示您依赖有问题的代码。 如果您可以依赖已弃用和有问题的代码,那么只需抑制消息即可。 您的问题似乎是警告而不是软件的状态。 如果您对软件的状态满意,那么只需取消警告即可。

我们不会将弃用状态和相关警告更改为与现实脱节,以满足任何特定用户对他们可以轻松抑制的警告的担忧,如果他们不关心依赖弃用的模块。

需要帮助!!!...当我尝试安装 node-gyp 3.6.2 时遇到了这个问题
PS C:\Users\User> npm install --global [email protected]
npm WARN deprecated [email protected] : request 已被弃用,参见https://github.com/request/request/issues/3142
npm 错误! 路径 C:\Users\User\AppData\Roamingnpm\node-gyp.cmd
npm 错误! 代码 EEXIST
npm 错误! 拒绝删除 C:\Users\User\AppData\Roamingnpm\node-gyp.cmd: 在 C:\Users\User\AppData\Roamingnpm\node_modules\node-gyp 之外而不是链接
npm 错误! 文件存在:C:\Users\User\AppData\Roamingnpm\node-gyp.cmd
npm 错误! 把它移开,然后再试一次。

npm 错误! 可以在以下位置找到此运行的完整日志:
npm 错误! C:\Users\User\AppData\Roamingnpm-cache_logs\2020-02-13T05_12_13_683Z-debug.log

@mikeal哦,这是一个有趣的案例。 正如@Meharab 所展示的那样,在弃用通知中包含问题编号可能会在这里带来很多不相关的评论。

也许是时候阻止进一步评论了?

更新:5 天后,评论真的堆积如山。

@mikeal感谢这些年

晚安请求。 在另一边见。

request 将永远有效(按原样),因为那是 JavaScript ……除非 Node 通过弃用它使用的核心 API 来引入重大更改

request 将永远有效(按原样),因为那是 JavaScript ……除非 Node 通过弃用它使用的核心 API 来引入重大更改

不。
此代码具有无法修复的已知错误。 此代码不再维护并已弃用。 (引用)

所以请求将永远有未修复的错误不会永远工作......

我不明白。 那么我现在应该正式做什么,而不是收到弃用警告?

删除request 。 这可能涉及从您自己的依赖项中删除它、升级在较新版本中删除它的包,或删除尚未使用较新版本更新的包。

你好。

我正在尝试安装cordova。

npm install -g 科尔多瓦

我一直收到这个错误。
Microsoft Windows [版本 10.0.18362.592]
(c) 2019 年微软公司。 版权所有。

C:\Users>npm install -g cordova
npm WARN deprecated [email protected]: request 已被弃用,见 https://github.com/request/request/issues/3142
C:\Users\AppData\Roamingnpm\cordova -> C:\Users\AppData\Roamingnpm\node_modules\cordova\bin\cordova

还有其他安装 Cordova 的方法吗?
解决这个问题的方法?

是的。 好的。 我会删除请求。 但是呢?

所以在 node.js 上我必须切换到.. idk.. axios?

我想在请求的地方放什么?

我理解这个想法是重写所有存在请求的函数?

有没有我可以用正则表达式查找和替换的包?

是否有正式的请求替代品,还是我们现在就可以自由地在谷歌上找到最先出现的东西? 我不明白

是否有官方替代请求

不,您可以使用任何您想要的东西,尽管同一个开发人员正在开发bent

还有postman-request分支已经收到了许多修复,~但是自从request被弃用以来它没有任何活动。~

因为他们没有问题页面,我想我会尝试在这里提问:

@coditva @codenirvana @shamasis @vikiCoder @czardoz

对于道歉提到,但什么是前进的计划postman-request现在request正式死了吗? postman-request继续维护,还是会被弃用?

需要帮忙!!! 我正在尝试安装 angular,我有一个问题
npm install -g @angular/cli
npm WARN deprecated [email protected]: request 已被弃用,见 https://github.com/request/request/issues/3142
npm 错误! 代码 EEXIST
npm 错误! 路径 C:\Users\FARHAN\AppData\Roamingnpm\node_modules\@angular\cli\bin\ng
npm 错误! dest C:\Users\FARHAN\AppData\Roamingnpm\ng.cmd
npm 错误! EEXIST:文件已经存在,cmd shim 'C:\Users\FARHAN\AppData\Roamingnpm\node_modules\@angular\cli\bin\ng' -> 'C:\Users\FARHAN\AppData\Roamingnpm\ng.cmd'
npm 错误! 文件存在:C:\Users\FARHAN\AppData\Roamingnpm\ng.cmd
npm 错误! 删除现有文件并重试,或运行 npm
npm 错误! 使用 --force 鲁莽地覆盖文件。

npm 错误! 可以在以下位置找到此运行的完整日志:
npm 错误! C:\Users\FARHAN\AppData\Roamingnpm-cache_logs\2020-02-15T09_52_19_067Z-debug.log

request的替代品是什么? Angular 仍然依赖于它。 希望他们很快就会更新他们的代码库。

我有一个短期解决方案,Mikeal Rogers 会对此感到畏缩,甚至可能会因为我而猛烈抨击我。 当前的弃用分为 2 个计划外阶段 - 1) 对其必要性的一般性讨论,2) BANG,大约 30 分钟的通知并已实施。 所有的地狱都被打破了。

我问@mikeal他是否会考虑在今天取消折旧,并宣布为期 6 个月的“折旧通知”,该通知将于 2020 年 8 月 15 日实施并完全生效。

三个阶段-
1)讨论时间:2019年3月20日至2020年2月15日
2) 6 个月弃用通知:2020 年 2 月 15 日
3) 弃用实施时间:2020 年 8 月 15 日

这样,不仅框架和应用程序项目不会立即被破坏,这太苛刻了,而且这个社区现在可以使用这个讨论区来分享替代方案,在接下来的几个月里 +/- 并获得替代方案到 6 个月的最后期限。 然后,当它发生时,我们都可以向它致敬,喊“cheerio”,并且没有任何损坏。

请理解,我不会就弃用它的必要性或创作者这样做的权利提出任何论点......我建议采用 3 步预先通知时间表,如上所述,这将解释其非常开发者社区中的大量使用,以及当今世界上活跃的应用程序取决于请求模块。

Mikeal,请考虑我的建议,今天删除弃用状态并宣布 6 个月通知。 少于 6 个月对我们许多人来说是不够的,6 是公平的。 我会很感激,我们都会。

非常感谢您的聆听,
-瑞克芬克

添加弃用警告并不会破坏任何内容,它只是警告用户将来可能会被破坏。 我宁愿早点看到弃用消息,也不愿等待社区讨论,然后才知道我最终将不得不更换软件包。

另外,友情提醒,这个包是通过开源免费开发的,维护者不欠你任何东西。 如果你想继续使用这个包,你可以 fork 它并继续自己维护它。

@riclf

需要帮忙!!! 我正在尝试安装 angular,我有一个问题
npm install -g @angular/cli
npm WARN 已弃用 [email protected]:请求已被弃用,请参阅 #3142
npm 错误! 代码 EEXIST
npm 错误! 路径 C:\Users\FARHAN\AppData\Roamingnpm\node_modules@angular\cli\bin\ng
npm 错误! dest C:\Users\FARHAN\AppData\Roamingnpm\ng.cmd
npm 错误! EEXIST:文件已经存在,cmd shim 'C:\Users\FARHAN\AppData\Roamingnpm\node_modules@angular\cli\bin\ng' -> 'C:\Users\FARHAN\AppData\Roamingnpm\ng.cmd'
npm 错误! 文件存在:C:\Users\FARHAN\AppData\Roamingnpm\ng.cmd
npm 错误! 删除现有文件并重试,或运行 npm
npm 错误! 使用 --force 鲁莽地覆盖文件。

npm 错误! 可以在以下位置找到此运行的完整日志:
npm 错误! C:\Users\FARHAN\AppData\Roamingnpm-cache_logs\2020-02-15T09_52_19_067Z-debug.log

这似乎已由最新版本的 Angular 解决,其中request被替换为node-fetch

@AURZeeshan
您的错误与此无关。 您只是看到来自这个包的警告,错误是不同的。

@riclf

需要帮忙!!! 我正在尝试安装 angular,我有一个问题
npm install -g @angular/cli
npm WARN 已弃用 [email protected]:请求已被弃用,请参阅 #3142
npm 错误! 代码 EEXIST
npm 错误! 路径 C:\Users\FARHAN\AppData\Roamingnpm\node_modules@angular\cli\bin\ng
npm 错误! dest C:\Users\FARHAN\AppData\Roamingnpm\ng.cmd
npm 错误! EEXIST:文件已经存在,cmd shim 'C:\Users\FARHAN\AppData\Roamingnpm\node_modules@angular\cli\bin\ng' -> 'C:\Users\FARHAN\AppData\Roamingnpm\ng.cmd'
npm 错误! 文件存在:C:\Users\FARHAN\AppData\Roamingnpm\ng.cmd
npm 错误! 删除现有文件并重试,或运行 npm
npm 错误! 使用 --force 鲁莽地覆盖文件。
npm 错误! 可以在以下位置找到此运行的完整日志:
npm 错误! C:\Users\FARHAN\AppData\Roamingnpm-cache_logs\2020-02-15T09_52_19_067Z-debug.log

这似乎已由最新版本的 Angular 解决,其中request被替换为node-fetch

我安装了最新的 CLI 版本。 它仍然抛出相同的警告

npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142

@vighnesh153您的 package.json 中指定了哪个版本的@angular/cli ? 似乎某些依赖项需要请求而不是基础包本身。 见http://npm.anvaka.com/#/view/2d/%2540angular%252Fcli

也许你是对的。 我不太确定哪个包正在使用请求包。 这是 deps 的快照:

"dependencies": {
    "@angular/animations": "~9.0.1",
    "@angular/common": "~9.0.1",
    "@angular/compiler": "~9.0.1",
    "@angular/core": "~9.0.1",
    "@angular/forms": "~9.0.1",
    "@angular/platform-browser": "~9.0.1",
    "@angular/platform-browser-dynamic": "~9.0.1",
    "@angular/router": "~9.0.1",
    "rxjs": "~6.5.4",
    "tslib": "^1.10.0",
    "zone.js": "~0.10.2"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.900.2",
    "@angular/cli": "~9.0.2",
    "@angular/compiler-cli": "~9.0.1",
    "@angular/language-service": "~9.0.1",
    "@types/node": "^12.11.1",
    "@types/jasmine": "~3.5.0",
    "@types/jasminewd2": "~2.0.3",
    "codelyzer": "^5.1.2",
    "jasmine-core": "~3.5.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~4.3.0",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage-istanbul-reporter": "~2.1.0",
    "karma-jasmine": "~2.0.1",
    "karma-jasmine-html-reporter": "^1.4.2",
    "protractor": "~5.4.3",
    "ts-node": "~8.3.0",
    "tslint": "~5.18.0",
    "typescript": "~3.7.5"
  }

安装
npm WARN deprecated [email protected] : request 已被弃用,参见https://github.com/request/request/issues/3142

当我想在 \vue-devtools-dev 中完成“npm install”时,我已经警告过这个
我该如何解决?

我完全尊重你弃用它的决定,并祝你未来一切顺利。

至于人们来到该线程寻找“那么从现在开始我应该使用什么??”, gotaxios就是您要寻找的。

可怜的。 是时候迁移到节点获取了。

...除了你自己质疑node-fetch是否是request的良好替代品,或者甚至积极维护。 确实可怜。

https://github.com/node-fetch/node-fetch/issues/668#issuecomment -586903934

顺便说一句,选择node-fetch真的需要小心。 这个库虽然很棒,但它自己也有严重的维护问题。

可怜的。 是时候迁移到节点获取了。

...除了你自己质疑node-fetch是否是request的良好替代品,或者甚至积极维护。 确实可怜。

node-fetch/node-fetch#668(评论)

至少 node-fetch 没有被弃用。 请求的硬弃用导致自动构建系统出现问题。 我不理解也不接受这一举动,在我看来,简单的注释说明 lib 未维护就足够了,而不是硬性弃用。 这就是为什么我认为这种情况很可悲。

在我看来,简单的注释说明 lib 未维护就足够了

这正是弃用通知的含义:一个简单的注释。

@asgetz npm 所做的就是在安装已弃用的软件包时打印该警告,其他一切都与以前完全一样。

我在 github 上使用 less.js 文件时遇到问题。 它们在 PHP 中运行良好。 当我尝试在命令中加入 less 时,出现了这个警告。 关于问题是什么的任何想法?

Screen Shot 2020-02-14 at 1 37 08 PM

@ljwestwhos请求被标记为已弃用,您正在评论的问题的文本解释了这意味着什么。 但是,它很可能与您使用 less.js 的问题无关,因为 request 仍然像以前一样工作。

是否有request的替代品,但有 node.js 的流接口? 我发现node-fetchaxios都基于Promise

我想知道流接口的替代品,这对于较低级别的用例更方便。

@maple3142 got有一个流接口(以及 promises)和一个迁移指南

@asgetz

npm 向我表明我现在必须自己安装它。

它以什么方式表明。 当我安装request我只会收到弃用通知,一切都像以前一样。

我计划使用它是如此之小

在这种情况下,也许看一下重量轻得多并且似乎工作得很好的弯曲

@mikeal你能看看https://github.com/request/request/pull/3245 proxyHeaderExclusiveList 是这个包中最好的功能之一,它不能正常工作。
让我们解决这个问题!

@kauegimenes这个包已被弃用......不会再修复任何东西

@kevinvanrijn我不再积极参与维护postman-request ,但该项目肯定还活着,最后一次发布是在一个月前。 不过,我会让活跃的维护者加入长期计划。

@czardoz很高兴知道。 我有一堆小项目(全部是私有的)取决于request ,我不能花时间重写。 删除postman-request作为替代意味着我可以依靠它们继续运行一段时间。

cloudscraper也受到维护缓慢的困扰,可能还无法摆脱request束缚。 将postman-request用作选项意味着它至少不会有被弃用的风险。

@Edo78为什么这么说? 我仍然相信有一天我的 PR 会被合并 😆

仍然活跃的提交者将尝试及时合并修复程序,但没有承诺。

顺便说一句,选择 node-fetch 的人真的需要小心。 这个库虽然很棒,但它自己也有严重的维护问题。

@csvan你能解释一下吗? 我只看到几个问题

我对 npm 知之甚少。 我用它来安装 API,但收到了一些我不明白的警告。 他们指引我到这里。 这对我来说完全没用。 有人应该在这里发布一些对我们这些指向这里的人有用的东西,或者应该修复 npm 中的消息以使其更有用。 以下是我收到的消息。

npm WARN deprecated [email protected] : request 已被弃用,参见https://github.com/request/request/issues/3142
npm WARN saveError ENOENT: 没有这样的文件或目录,打开“C:\Users\Sam\package.json”
npm 通知创建了一个锁文件作为 package-lock.json。 你应该提交这个文件。
npm WARN enoent ENOENT: 没有这样的文件或目录,打开“C:\Users\Sam\package.json”
npm WARN Sam 没有描述
npm WARN Sam 没有存储库字段。
npm WARN Sam 没有 README 数据
npm WARN Sam 没有许可证字段。

此外,没有 package.json 文件,但有 package-lock.json。 我不知道在那里寻找什么。

@SimpleSamples该包已被弃用,除了可能的错误修复外,不会积极维护,如文本中清楚解释的那样。 NPM 只是警告您正在使用已弃用的软件包,以便您有机会切换到其他软件包。

如果您不明白弃用是什么意思,谷歌搜索有几篇有用的文章。

是的,我了解弃用意味着什么,因此我了解
对 Request 的过去、现在和未来的讨论不提供任何
澄清,它只会增加混乱。 或者还有什么我做的
不明白,你不澄清? 如果只是说
请求已被弃用,而不是它需要说的全部内容,而不是
这意味着我们必须做更多的事情。

如果要说(链接到文章
解释)什么取代了它,或者我们应该注意的任何行为。

Christopher Svanefalk通知@github.com
2020 年 2 月 18 日,星期二晚上 10:45

@SimpleSamples https://github.com/SimpleSamples包是
已弃用,不会收到进一步的更新,因为文本
清楚地解释。 NPM 只是警告您正在使用
弃用的包。

如果您不明白弃用是什么意思,有几个
谷歌搜索的有用文章。


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/request/request/issues/3142?email_source=notifications&email_token=ACK22R4G7LHULMPO6DHH273RDTIP7A5CNFSM4HCP6LRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKZKTDN53LNMVXHJZKTDN500007
或取消订阅
https://github.com/notifications/unsubscribe-auth/ACK22R7UFQSYKW7NEYZ4OTDRDTIP7ANCNFSM4HCP6LRA

如果它只是说 Request 已被弃用,那么它只需要说

是的,去他妈的任何欣赏上下文并喜欢了解决策原因或想要了解逐步淘汰详情的人。 :P
不过,严肃地说,如果在警告中添加了“至于为什么”,那会不会让您感到困惑?

“npm WARN 已弃用[email protected] :请求已被弃用,请参阅 #3142了解原因

你是对的。 我没有看到“为什么”部分。

埃斯彭写道:

“至于为什么”

@SimpleSamples对不起,如果我误解了,但我真的没有看到混乱。 Request 已弃用,此问题的文本相当清楚地解释了原因和含义。

你从哪里得到你需要做任何事情的想法? 弃用只是弃用,您如何处理它取决于您。

请求使用的模式没有任何问题。 相反,javascript 生态系统中有一个庞大的社区仍在使用这些模式。 根据我的经验,它是一个比那些有资源不断撕毁完美工作代码库的少数人(大多数大公司)更大的社区,只不过是开发人员的虚荣和傲慢。

很抱歉您陷入了这个陷阱,request 为社区提供了很好的服务,我真诚地希望您重新考虑您的决定。

是的,我很伤心,这已经过去了。 回调还不错,promise 或 async await 也不错。

我认为您缺少@SimpleSamples您粘贴的其余警告与将您带到这里package.json (或导致其他警告的任何内容)做一些事情。

那么我们现在应该如何处理所有这些在引擎盖下使用request的包?

我尝试在一个这样的包中用@root/request替换request ,假设它确实是一个直接替换,但我无法让它工作

我也尝试用类似的东西替换request

const httprequest = require('http').request; const httpsrequest = require('https').request;

... 和...

const request = parsedUrl.protocol === 'http' ? httprequest : httpsrequest`

......但我也无法让它发挥作用。

那么现在怎么办? 在没有真正兑现其承诺的直接替代品的情况下,我们是否都应该忍受在我们的node_modules中有多个依赖项,这些依赖项依赖于一个已弃用的包,其中几个似乎没有被维护? 为什么?

我知道request在几个方面已经过时了,但是通过弃用这个包而不提供合适的替代品,41K 模块现在直接依赖于一个弃用的包。 如果我们将至少使用这些 41K 模块中的一个的包视为依赖项,那么我们可能会谈论数十万甚至数百万个受影响的包。

当然,我猜对于某些软件包,很容易将request替换fetchaxiossuperagent或 Node.js 的原生http.request & https.request 。 但是例如。 在请求被传送到另一个请求的情况下(如html2canvas-proxy ),我很难弄清楚那里到底发生了什么......而且我真的不能花很多时间来尝试替换只有几行已弃用的代码,而我实际上应该做更重要的事情。

我一直厌倦过分依赖在后台使用包管理器加载的大量相互依赖的包。 是的,我认为它可以将很多繁重的工作卸载给第三方,但相反,您会遇到一大堆其他令人头疼的问题。

包管理器给我们一种错误的安全感。 4 年前的整个左板崩溃似乎没有让人们对所涉及的风险大

但是嘿...我想至少这意味着 JS 开发人员总是需要清理 $%#@ 混乱...

@jslegers

不过,我觉得我必须强调,当一个被弃用或损坏的软件包可以影响整个生态系统中的数百万个软件包时,就存在严重错误。

唯一错误的是您和其他人似乎正在遭受恐慌。 leftpad消失了,被删除了。 现在这不可能发生。 请求已被简单地弃用; 它不会去任何地方。 如果它现在有效,它将继续以相同的方式工作。

对数百万个包没有影响,除非你算一个良性警告。

我也尝试用类似的东西替换请求...

请停止恐慌; 请停止尝试解决不存在的问题。 使用您喜欢的任何包:请求的弃用不会破坏它们。 渐渐地,他们的包维护者可能会转移到另一个包。 或者他们可能不会。 没关系。 除了一条小消息的出现外,什么都没有改变。

总是需要 JS 开发人员清理 $%#@ 的烂摊子...

没有混乱。 只是进步。

对数百万个包没有影响,除非你算一个良性警告。

弃用例如。 您的 API 或库的一部分基本上意味着您正式将其指定为“过时”,并且您积极鼓励用户选择其他内容。

弃用通常用作正式支持某些东西和正式放弃对某些东西的支持之间的中间阶段,让开发人员有时间替换您已弃用的任何东西,直到该东西不再可用或向后兼容。

弃用警告应该让您感到紧张。 它们旨在呼吁采取行动。 基本上,弃用的目的是为开发人员提供一个“宽限期”,允许他们在有人拔掉插头之前更新他们的代码。

并且它们不应该用于任何其他目的。 弃用不应该只是告诉您的用户“我们的 API 没有遵循最新的编码标准”或“我没有时间再维护这个项目”......即使该库非常稳定且漂亮在 +99% 的所有用例中都可以安全使用,并且至少在未来十年左右的时间里可能会继续正常工作。 这不是弃用的意思,使用弃用警告只是为了表达这样的消息,这在 IMO 开了一个非常糟糕的先例。

此外,让您的npm install日志充满弃用警告实在是太丑了。 它看起来很草率。 这是一种危险信号,会给尝试您的库或框架的人留下不好的第一印象。 特别是如果人们真的付钱给你使用你的库/框架,你想给他们一个零警告的漂亮/干净的安装过程。

除了一条小消息的出现外,什么都没有改变。

这条小消息看起来很草率,应该没有其他目的,只是作为行动呼吁……呼吁用其他东西替换过时的包。

这对你来说可能并不重要,但对我和其他人来说绝对重要。

没有混乱。 只是进步。

我猜你是那些分不清变化和进步的人之一。

无论哪种方式,我都注意到建议使用postman-request的评论中的其他人。 与@root/request ,那个似乎可以作为替代品,所以我将暂时用这个更新我的所有软件包......

我认为您缺少@SimpleSamples您粘贴的其余警告与将您带到这里package.json (或导致其他警告的任何内容)做一些事情。

触摸!

重点已经提出,但人身攻击仍在继续。 你们非常聪明,技术能力很强,但个人专业知识还有提升的空间。

重点已经提出,但人身攻击仍在继续。 你们非常聪明,技术能力很强,但个人专业知识还有提升的空间。

不幸的是,聪明并不能阻止人们让自己的情绪蒙蔽他们的判断……尤其是当他们的事情发生时,例如似乎没有充分理由或对弃用目的没有普遍共识的东西被弃用。

无论如何,我想我已经很清楚地表达了我的观点。 最后,我想鼓励@mikeal@reconbot或该项目的任何其他维护者正式提议postman-request作为request的功能完整替代品,可能还有@root/request对于那些只需要request的有限子集并且不关心例如的人。 流。 这允许任何包维护者删除request并摆脱烦人的弃用消息,而无需在此问题上花费超过几分钟的开发时间,也无需重构他们的整个库或应用程序。

@mikeal从请求被弃用的现实中

我是否可以请您给我们一个简短的摘要,说明迁移到其中一个请求替代项的差异、好处和优缺点。 我相信你的工作。

感谢您这次,我可以肯定地说感谢请求模块的这些年。

-瑞克

request-promise-native也已弃用,还是正确使用?

[email protected] : 请求已重复....无法创建新项目

[email protected] : 请求已重复....无法创建新项目

您可以像往常一样创建项目。 NPM 只是给你一个警告。

为什么这个项目被删除了?

是的,这很好

被 4,476,352 个存储库、52,377 个包使用。
告别传奇。

为什么这个项目被删除了?

@jleppert还没有,请阅读您正在评论的问题。

我尝试在 linux 中安装 angular,然后在 windows 中安装 angular,在两者中我都无法安装,在两者中执行命令 npm install -g @ angular / cli @ latest ,我都出现了这个错误

C:\Users\Hanzell>npm install -g @angular/cli@latest
npm WARN deprecated [email protected]: request 已被弃用,见 https://github.com/request/request/issues/3142
C:\Users\Hanzell\AppData\Roamingnpm\ng -> C:\Users\Hanzell\AppData\Roamingnpmnode_modules\@angular\cli\bin\ng

@angular/ cli @
节点 ./bin/postinstall/script.js

  • @angular/ cli @
    在 188.027 秒内添加了来自 205 个贡献者的 260 个包

然后,我创建了存储库,这出现了

C:\Users\Hanzell\Desktop>ng new
? 您希望为新工作区和初始项目使用什么名称? 你好
? 您想添加 Angular 路由吗? 不
? 您想使用哪种样式表格式? CSS
创建 hola/angular.json(3551 字节)
创建 hola/package.json(1281 字节)
CREATE hola/README.md(1021 字节)
创建 hola/tsconfig.json(543 字节)
创建 hola/tslint.json(1953 字节)
创建 hola/.editorconfig(246 字节)
创建 hola/.gitignore(631 字节)
创建 Hola/浏览器列表(429 字节)
创建 hola/karma.conf.js(1016 字节)

npm 错误! 可以在以下位置找到此运行的完整日志:
npm 错误! C:\Users\Hanzell\AppData\Roamingnpm-cache_logs\2020-03-01T05_15_55_441Z-debug.log
× 包安装失败,见上。
原理图工作流失败。 看上面。
CREATE hola/src/assets/.gitkeep (0 字节

帮助!

@RiveraHan遇到的问题与request被弃用无关。

话虽这么说,我很好奇。 虽然我从 JS 时代起就没有使用过 angular,但我还是试了一下。 请注意,我不想将 angular cli 添加到我的全局模块中,所以我的处理方式有点不同。 我用npm 6.14.1node 12.16.1和 Debian GNU/Linux 测试了以下内容。

mkdir wrk-dir
cd wrk-dir
mkdir w1
cd w1
npm init -y
npm install @angular/cli --save-dev # this puts `ng` in `wrk-dir/w1/node_modules/.bin/ng`
cd ..
w1/node_modules/.bin/ng new my-app
cd my-app
../w1/node_modules/.bin/ng serve --open # browser will open with compiied results

如果您全局安装 angular cli,只需从上面的 ng 中删除../w1/node_modules/.bin/w1/node_modules/.bin/全局找到。

@millette它在 Linux ubuntu 和 windows 10 上不起作用。这是我第一次安装 angular

@RiveraHan这不是错误。 这是一个 npm 警告。 如果您使用的任何设置在 npm 警告中失败,那么您需要检查它的配置。

@csvan但是,当我在我的代码编辑器中打开新项目时,我意识到 node_modules 文件夹没有出现,并做了一些研究以再次生成 node_modules 文件夹,它是使用 npm install 命令执行的,同样出现另一个错误.

@RiveraHan是的,但这又与request或 npm 无关 - npm 警告不会破坏安装,除非您的开发环境以某种方式配置为这样做。 您需要研究为什么您的环境不能容忍 npm 警告以及您可以做些什么 - 如果这甚至是您的问题。 它很可能是完全不同的东西。

@anton-bot 因此提议接管该项目并投入当前维护人员没有时间做的所有工作。 如果你不愿意自己投入工作来实现它,那么告诉别人如何运行他们的项目是相当傲慢的。 它是开源的。

@mikeal已经很清楚地解释了为什么不推荐使用request 。 这是负责任的做法,这是一个很好的决定,而且不太可能逆转。

还有这个:

此外,实际上,人们不会用其他东西替换他们使用 request 的完美工作代码。 查看一些链接的拉取请求 - 这不是人们想要做的想法。

这就是为什么我们最终会得到垃圾遗留代码,这些代码依赖于当时“非常好的代码”的古老模块。 维护软件的一部分是摆脱旧的和过时的模块,用积极维护的模块替换它们。

@anton-bot 只需使用@root/request ,它基本上是request的 80% 兼容实现,它在幕后使用现代 Node HTTP API。

@anton-bot 您显然错过了几个生活事实:

  1. 这是免费的开源软件。 您无权告诉维护者“停止它”。
  2. 请求已超过其保质期(尽管未超过其保质期)。 它变得沉重而过时。
  3. @mikeal已经制作了至少两个替换请求的新包。 它们都更轻。
  4. 如果您和其他人希望继续使用它,您可以自由地这样做。 弃用中的任何内容都不会阻止您这样做。

就我个人而言,我已经利用这个机会逐渐升级了我的软件包。 海妖交换,例如,从5.9MB到安装284KB大不如前,通过切换到弯曲

@csvan说你“很傲慢”。 这是一个比我用过的更礼貌的短语。

@anton-bot 只需使用 @root/request,它基本上是一个 80% 兼容的请求实现,它在引擎盖下使用现代 Node HTTP API。

80% 的合规性还远远不够。

我使用依赖于缺失的 20%(例如流)的依赖项。 为此,您需要一个功能完整的替代品,如postman-request

我在以前的评论建议(这似乎已被删/删除)的维护交给他们的项目,以邮递员的球队,这样他们就可以替代request的与执行实施postman-request ,因为该包仍在积极维护,功能完整并修复了request从未修复的一些错误。

这样, request原作者可以退后一步,享受他们应得的“退休”,而不会因不必要地贬低request而吓唬或惹恼很多人。

这是免费的开源软件。 您无权告诉维护者“停止它”。

他当然会。 同样,维护者有权说“f * you”。

请求已超过其保质期(尽管未超过其保质期)。 它变得沉重而过时。

仍然不是弃用的正当理由。

@mikeal已经制作了至少两个替换请求的新包。 它们都更轻。

所以?

数以千计的软件包今天仍在使用request ,并且现在在npm install期间产生了不必要的弃用警告。 这不应该发生,并且可以很容易地通过例如防止。 将火炬交给 Postman 团队,或者只是让这个项目平静地死去。

如果您和其他人希望继续使用它,您可以自由地这样做。 弃用中的任何内容都不会阻止您这样做。

当然可以。

客户在npm install期间看到弃用警告时会感到紧张,这会阻止我们中的许多人坐视不理。

弃用 = 号召性用语。 它基本上给人们一个宽限期来替换他们的依赖关系,直到他们的依赖关系中断。 它不应用于任何其他情况,但应在宽限期结束后依赖项预计会破坏现有功能的情况下使用。

就我个人而言,我已经利用这个机会逐渐升级了我的软件包。 例如,通过切换到弯曲,kraken-exchange 已从 5.9MB 减少到 284KB 安装。

我尝试用这些包的内部化/自定义本地版本替换我们的几个依赖项,并将request替换request-postman以消除弃用警告。 这似乎是一个简单的解决方法,它稍后将允许我们用更轻量级的替代方案逐步替换request-postman

然后我了解到 NPM 在处理本身依赖于本地包的本地包方面存在令人难以置信的错误,这使得我们的环境明显不太稳定。 它打开了一整罐“蠕虫”,真的,所以我不得不恢复我的更改并移回request ,因为在此尝试解决此类问题根本不值得花费时间和精力时间点。

目前,我认为除了忍受弃用警告之外别无选择,因为我们只是使用了太多具有request的依赖项本身作为依赖项来摆脱它,但很少有麻烦。 这是不幸的,IMO 不应该发生!

@csvan说你“很傲慢”。 这是一个比我用过的更礼貌的短语。

你凭什么说一个人“傲慢”或更糟,仅仅因为你不明白为什么弃用警告对他们和他们的项目很重要?!

我觉得傲慢的是,只是在没有任何充分理由的情况下弃用数百万其他项目所依赖的项目,而不是寻找不同的维护者来接替您的工作。 考虑到 Postman 团队已经有一个功能完整的request分支并得到积极维护,我无法想象说服他们这样做会非常困难。

您对弃用request的这一决定的全球成本的估计(以百万美元计)是多少?

零。 它和以往一样好用。 它只是不会变得更好。

零。 它和以往一样好用。 它只是不会变得更好。

废话!

如果您认为弃用警告对依赖它们的项目没有影响,那么您对弃用意味着什么以及这些消息的用途一无所知!

弃用让很多人非常紧张,这是有充分理由的。 这就是弃用应该做的事情!

啊,那没问题。 我的粗略计算大约是 3000 万美元,但我想我错了。

考虑到有多少包直接或间接依赖于这个项目,3000 万美元对我来说听起来是一个非常低的估计!

我对这里有多少人认为他们有权使用自由软件感到惊讶和惊讶。

我对这里有多少人认为他们有权使用自由软件感到惊讶和惊讶。

我感到惊讶和惊讶的是,有多少人认为他们对自己的行为如何影响用户没有任何责任,因为他们的产品是免费的或开源的。

IMO 对待您的用户/客户没有什么不同,无论他们是付费使用您的应用程序/库还是不付费,这是一个基本的尊重问题。

如果人们为它付费,你会否弃用一个被数百万其他项目用作依赖项的项目,除非你有一个非常、非常、非常好的理由(比如如果人们不采取某种行动,依赖项目就会崩溃)时间)?

@jslegers我的观点正是如此。 这么有资格! 惊人的!

@jslegers我的观点正是如此。 这么有资格! 惊人的!

锅...

壶...

我想不出还有什么比争辩说用户以某种方式“欠”你给他们开源软件并且他们应该对你感到“荣幸”或“感激”,因此没有任何抱怨的权利当您的行为直接影响他们的项目时。

当然,维护一个开源项目多年需要大量的努力和奉献。 当然,当人们愿意在自己的业余时间这样做而没有任何经济补偿时,这是值得钦佩的。 但这仍然不是在用户最需要你的时候表现出所有权利并让他们感到寒冷的借口,并且有几个零努力的替代方案!

@CliffS

就我个人而言,我已经利用这个机会逐渐升级了我的软件包。 例如,通过切换到弯曲,kraken-exchange 已从 5.9MB 减少到 284KB 安装。

我刚刚看了一下 package.json 仍在引用请求版本 2,88.0

我刚刚看了一下 package.json 仍在引用请求版本 2,88.0

@JonathanRowell是的。 在将其推送到 npm 之前,目前正在对其进行测试。 版本 v1.9.0 将在一天结束时出现。

但这仍然不是在用户最需要你的时候表现出所有权利并让他们感到寒冷的借口,并且有几个零努力的替代方案!

正是如此,这就是为什么我们有像@jslegers这样的人愿意平衡工作量和推进项目,而不是抱怨问题!

等一下。

正是如此,这就是为什么我们有像@jslegers这样的人愿意平衡工作量和推进项目,而不是抱怨问题!

错误的!

这就是为什么我们有Postman团队的友好人员,他们已经拥有自己的request分支,名为postman-request ,可以作为request的功能完整的替代品request并积极维护! 弃用request常识替代方法是要求他们接管request维护。

万一邮差人因任何原因拒绝, request仍然可以正式推荐postman-request作为弃用警告中功能完整的替代品,以防止数百人不必要地浪费资源 -不是成千上万的开发人员独立寻找这样的替代品。

或者,您可以宣布正式放弃对request维护/支持,并让它在没有弃用警告的情况下缓慢而平静地消亡,因为确实没有必要弃用或继续维护一个运行良好且运行良好的软件包不会在不久的将来打破。

这 3 种方法中的任何一种都比当前方法好得多,并且不需要任何一方提供任何额外资源。

我不认为争论一个或另一个是否有权满足他们的期望是建设性的,也无助于解决手头的问题。 我们都取与付,彼此合作,希望自己的问题能更容易解决,但谁也不能强迫对方违背自己的意愿。

我相信事实是 a) 当前所有者不想再推进项目(完全可以理解),而且 b) 许多人对弃用警告感到非常痛苦,因为迁移离开它不会大多数时候立即发生(也完全可以理解)。

所以在我看来,一个合理的妥协是,类似于@jslegers 所建议的,将项目所有权转移给感兴趣并愿意接受它的人,

那么, @mikeal ,您愿意将项目所有权移交给其他人吗?

还有其他人愿意从 Mikeal 那里得到它来解决人们在发出警告时遇到的问题吗?

除了合作交出项目所有权,我们谁也不能替别人说话,叫他们做这做那; 一个人只能为自己说话。

在此线程中没有过多提及的另一个事实是转移如此流行的包的所有权对安全性的影响。 我们最近发生了一些事件,其中所有权转让给了坏人,并导致新版本的软件包中出现恶意活动。 像这样的流行软件包是这类演员的绝佳目标。

我不会评论任何可以接管所有权的特定团队的可信度,但重要的是要认识到这样一个建议的风险有多大。 弃用此包并不能阻止 fork 继续以不同的名称维护此包,但名称更改允许消费者做出使用该 fork 的决定,而不是自动发生,而没有机会评估其项目的风险。

在此线程中没有过多提及的另一个事实是转移如此流行的包的所有权对安全性的影响。 我们最近发生了一些事件,其中所有权转让给了坏人,并导致新版本的软件包中出现恶意活动。 像这样的流行软件包是这类演员的绝佳目标。

显然,您不能只是将所有权转让给任何人。 但 Postman 团队听起来是一个合乎逻辑的选择,因为……

  • 他们有需要保护的声誉,因此无法通过将恶意代码注入项目来损害request项目
  • 作为 API 开发和测试的平台,成为许多潜在客户使用的非常流行的 NPM 包的官方维护者对他们来说是一种营销胜利
  • 由于他们已经维护了自己的request分支,因此应该不需要他们提供额外的资源。 他们可以将他们的分叉合并到request ,并将资源从他们自己的分叉(不再需要)移动到官方的request

显然,不能保证他们会接受。 但如果他们有任何常识,他们会立即跳上这个。 因此,除非request维护者已经尝试联系他们并且可以确认他们确实拒绝了这个提议,否则这绝对值​​得 IMO 一试!

真的没有必要弃用或继续维护一个运行良好且不会在不久的将来崩溃的包。

这太倒退了,我什至不知道从哪里开始。 一个包是无人维护的并建议将其移走是弃用的全部内容。
所有者让您知道您正在通过使用它来建立技术债务,以便您可以继续前进。 通过 npm 正式弃用的好处正是人们得到了明确的指示,而不是在多年后发现它(在你的“让它慢慢消亡”的情况下),在那里可能已经太晚了考虑平滑迁移。

广泛使用和随后被废弃的包不会平静地消亡。 当使用它们的人在他们未维护的状态实际上导致东西破裂并打开安全漏洞后开始恐慌地离开时,它们就会死亡。

面对现实,如果没有弃用通知,您和我都不可能知道请求的状态。 绝大多数用户也不会。

我尝试在 linux 中安装 angular,然后在 windows 中安装 angular,在两者中我都无法安装,在两者中执行命令 npm install -g @ angular / cli @ latest ,我都出现了这个错误

C:\Users\Hanzell>npm install -g @angular/cli@latest
npm WARN 已弃用 [email protected]:请求已被弃用,请参阅 #3142
C:\Users\Hanzell\AppData\Roamingnpm\ng -> C:\Users\Hanzell\AppData\ Roamingnpmnode_modules@angular\cli\bin\ng

@angular/ [email protected] postinstall C:\Users\Hanzell\AppData\ Roamingnpmnode_modules@angular\cli
节点 ./bin/postinstall/script.js

  • @angular/ cli @
    在 188.027 秒内添加了来自 205 个贡献者的 260 个包

然后,我创建了存储库,这出现了

C:\Users\Hanzell\Desktop>ng new
? 您希望为新工作区和初始项目使用什么名称? 你好
? 您想添加 Angular 路由吗? 不
? 您想使用哪种样式表格式? CSS
创建 hola/angular.json(3551 字节)
创建 hola/package.json(1281 字节)
CREATE hola/README.md(1021 字节)
创建 hola/tsconfig.json(543 字节)
创建 hola/tslint.json(1953 字节)
创建 hola/.editorconfig(246 字节)
创建 hola/.gitignore(631 字节)
创建 Hola/浏览器列表(429 字节)
创建 hola/karma.conf.js(1016 字节)

npm 错误! 可以在以下位置找到此运行的完整日志:
npm 错误! C:\Users\Hanzell\AppData\Roamingnpm-cache_logs\2020-03-01T05_15_55_441Z-debug.log
× 包安装失败,见上。
原理图工作流失败。 看上面。
CREATE hola/src/assets/.gitkeep (0 字节

帮助!

检查 npm update 和之后的 npm install 到 angular 项目中

这太倒退了,我什至不知道从哪里开始。 一个包是无人维护的并建议将其移走是弃用的全部内容。

一个包没有维护并且需要在宽限期结束之前被移除是弃用的点。

如果没有要求在特定时间点之前搬走,您不应该弃用……至少除非您可以提出临时替换(例如postman-request在这种情况下)!

差异可能是微妙的,但后果是显着的。 通过弃用,您可能无缘无故地浪费了数千家公司的资源,而这可以通过结束维护并将其留在那里来避免!

在此线程中没有过多提及的另一个事实是转移如此流行的包的所有权对安全性的影响。 我们最近发生了一些事件,其中所有权转让给了坏人,并导致新版本的软件包中出现恶意活动。 像这样的流行软件包是这类演员的绝佳目标。

... 弃用这个包并不能阻止 fork 继续以不同的名称维护这个包

很公平; 我想我们可以稍等一下,从邮递员那里得到消息,然后评估转移给他们是否可行; 但除此之外,分叉似乎是前进的方向。

不,您不会通过明确表示他们的一个依赖项现在已被放弃并且几乎可以肯定是技术债务的来源而浪费任何人的时间。 恰恰相反,关于这个问题的整个讨论都证明了这一点——如果没有弃用,这种讨论很可能不会很快发生。

不,您不会通过明确表示他们的一个依赖项现在已被放弃并且几乎可以肯定是技术债务的来源而浪费任何人的时间。

仅仅因为一个项目被放弃,并不意味着它应该被其他任何东西取代。

特别是对于使用多个依赖项的项目,这些依赖项本身都使用request作为依赖项,尝试用其他东西替换request的潜在收益甚至无法达到实现这一目标所需的努力!

如果没有弃用,讨论很可能不会很快发生。

如果没有弃用,就没有必要进行这种讨论。

是的,在某些时候,无论是否弃用。 当开始感受到未维护的软件包的影响时,总是更早达到这一点,而不是几年后。

无论如何,我放弃这个。 玩得开心。

”万物皆变,万物生灭; 除非超越生死的痛苦,否则不会有幸福的和平。”

— 释迦牟尼佛

@mikeal你是个暴徒……谢谢你的提醒!

在我进入细节和推理之前,我将直奔主题。 request可以为 JavaScript 生态系统做的最有价值的事情是进入维护模式并停止考虑新功能或主要版本。

提前向request上的其他提交者道歉,他们一直在尽最大努力改进它,但这是最好的。

2009年

request的第一个版本是为 Node.js 生态系统创建的首批模块之一。 最早的版本被写入 API 中,这些 API 早于标准回调接口、流、node_modules 和 npm。 在最初的几年里, request和 Node.js 一起发展,互相学习。 随着 Node.js 改进和迁移核心接口,请求也是如此。 当 request 采用对核心 http 库和流的更改时,它还通知了诸如pipe事件(启用request的单行代理)和 Core http 的许多重写之一(一个我不得不写)。

新产品经理

request是最早添加到 npm 注册表的模块之一。 随着 npm 的增长,对request依赖也在增长。 即使现在,当npm用于前端工作而不是后端工作时, request仍然是注册表中最依赖的模块之一。 在我撰写本文时,41K 模块取决于请求,每周下载 1400 万次。

request在 Node.js 生态系统中的位置不再是创新者,而是现任者。 如果您在 Google 上搜索如何在 Node.js 中使用 HTTP 执行某些操作,这些示例可能会将request为客户端,将express为服务器。 这有两个明显的不良影响。

由于request对生态系统的现有地位,完成类似任务的新图书馆要获得采用要困难得多。 以任何有意义的方式更改请求也非常困难,因为更改不仅可能不被其大多数依赖者采用,而且会使它与使用request的数千篇博客文章和堆栈溢出响应不一致

现代 JavaScript

过去几年在 JavaScript 中是戏剧性的。 人们多年来谈论的功能从想法到标准,再到您可以在大多数环境中可靠地依赖的功能。 这些被采用的速度是惊人的,这主要归功于自动更新浏览器和积极的 Node.js 发布时间表。

request的核心模式已经过时。 有些人可能会反对这种评估,我知道他们是谁,所以我不会感到惊讶,但这是真的。 我经常怀疑其中一些功能会产生什么影响,但我发现自己在它们仅在最新版本的 Node.js 中可用后不久就批发采用了它们。

现在生态系统正在向这些模式转变。 这将是多么混乱仍然悬而未决,我不会尝试阅读茶叶并弄清楚在这方面的未来会是什么样子。 request是“我们是否尝试在过渡中生存?” 一年前,我认为答案是显而易见的,我们会的,但现在我确信相反。

为真正拥抱这些新语言模式而编写的request版本实际上是一个新模块。 我已经探索了这个空间,并且有一个我很满意的项目,但它在所有可能的方面都与request不兼容。 request与旧模式不兼容但还没有完全拥抱新模式的版本有什么价值? 当新开发人员编写的整个新模块世界正在重新考虑这些模式的问题时,部分兼容有什么意义?

这些新模块最好的事情是request慢慢消失,最终成为遗留堆栈的另一个记忆。 占据现在request的位置并将其用于下一代开发人员的更大份额将是对这些开发人员的损害,因为这会使他们远离没有request负担的更好的模块

维护模式

这是计划。

  • request将停止接受新功能。
  • request将停止考虑破坏性更改。
  • 仍然活跃的提交者将尝试及时合并修复程序,但没有承诺。
  • 发布将完全自动化,任何与 master 的合并都将被发布。 我已经使用 GitHub Actions

    • 我们将不得不移除不活跃的协作者并强制执行 2fa,因为提交权限将有效地变成 npm 发布权限。

如果我们只是删除它会发生什么? 这些依赖是一个杀手!

@grikard我同意这一点 - 很好的分析。 但是不想听起来很琐碎 - 这是一个真正的问题 - 美国人是否将“叶子”的复数拼写为叶子? 我学会了“叶子”。

叶子是叶子的复数形式:)

安装包... npm WARN deprecated [email protected] :请求已被弃用,请参阅https://github.com/request/request/issues/3142
如果其他人去这里是因为你有一个关于
ng new my-app
再试一次
sudo ng new my-app
快乐黑客

您好 如何解决此错误? https://github.com/request/request/issues/3142

您好 如何解决此错误? 第3142章

什么错误?

https://github.com/request/request/issues/3142

2020 年 3 月 11 日,星期三,晚上 8:23,Cliff Stanford通知@ github.com
写道:

您好 如何解决此错误? 第3142章
https://github.com/request/request/issues/3142

什么错误?


您收到此消息是因为您发表了评论。
直接回复本邮件,在GitHub上查看
https://github.com/request/request/issues/3142#issuecomment-597602350
或取消订阅
https://github.com/notifications/unsubscribe-auth/AN6OSLTSIY5LZVUEOX3JWHDRG57FNANCNFSM4HCP6LRA
.

因为这个,我无法完成我的项目......而且它是今晚到期的。 任何人都可以帮助解决请求中的这个问题吗?

@AELDREI这不是错误。 弃用只是一个警告/信息,一切仍然有效。
@valentina-js "This" 只是一个警告/信息,所以它不能成为您无法完成项目的原因。 如果你有问题,那么它一定有另一个原因。 尝试查找实际的错误消息,看看是否报告了类似的问题。 如果没有,请打开一个并详细描述您的错误。

不好了。 这没有必要。 撕裂

新商品

Screenshot_2020-03-12_16-58-39

3sei8v

npm WARN deprecated [email protected] : request 已被弃用,参见https://github.com/request/request/issues/3142

请解决这个问题! 我不知道我做错了什么:

npm WARN deprecated [email protected] : request 已被弃用,参见https://github.com/request/request/issues/3142
npm WARN checkPermissions 缺少对 /usr/local/lib/node_modules 的写访问权限
npm 错误! 代码 EACCES
npm 错误! 系统调用访问
npm 错误! 路径 /usr/local/lib/node_modules
npm 错误! 错误号 -13
npm 错误! 错误:EACCES:权限被拒绝,访问“/usr/local/lib/node_modules”
npm 错误! [错误:EACCES:权限被拒绝,访问'/usr/local/lib/node_modules'] {
npm 错误! 堆栈:“错误:EACCES:权限被拒绝,访问'/usr/local/lib/node_modules'”,
npm 错误! 错误号:-13,
npm 错误! 代码:'EACCES',
npm 错误! 系统调用:'访问',
npm 错误! 路径:'/usr/local/lib/node_modules'
npm 错误! }
npm 错误!
npm 错误! 您的操作系统拒绝了该操作。
npm 错误! 您可能没有作为当前用户访问此文件的权限
npm 错误!
npm 错误! 如果您认为这可能是权限问题,请仔细检查
npm 错误! 文件及其包含目录的权限,或尝试运行
npm 错误! 再次以 root/管理员身份执行该命令。

npm 错误! 可以在以下位置找到此运行的完整日志:
npm 错误! /Users/Hazem/.npm/_logs/2020-03-15T16_16_03_301Z-debug.log

@hazembergg NPM 没有对 node_modules 的写访问权限。 阻止npm install request没有任何问题。 尝试使用sudo运行它。

感谢您的及时回复,它就像一个魅力!

所以我觉得我快疯了! 我必须至少阅读 20 遍 README。 这整个程序超出了我的基本 html 知识......

_如何获取youtube评论?_
我运行youtube-comment-scraper 在节点? 基本终端? 或命令?
节点响应是...
终端响应是标题更改但没有任何反应

_如果我想要一个 csv 文件怎么办?_
是命令: youtube-comment-scraper --outputFile youtubecomments.csv --stdout --format csv 正确的?

_Ballpark 运行程序需要多长时间才能获得,比如说,一千条评论?_

@hazembergg两者。 见https://www.npmjs.com/package/youtube-comment-scraper#usage命令行用法和https://www.npmjs.com/package/youtube-comment-scraper#method的程序使用。 您还可以使用安装在命令行中的 Node.js 运行npx youtube-comment-scraper以访问 CLI。

@Richienb再次感谢您的信息! 我会研究它们,希望我能成功!

是的,似乎每个人都做错了什么。 有人告诉我,决定弃用request成本为零。

从来没有零成本!

我在创建酱汁隧道时遇到了问题。
使用以下酱料服务。
npm install -g wdio-sauce-service
25hnpm WARN deprecated [email protected] : request 已被弃用,见https://github.com/request/request/issues/3142
25小时

[email protected] postinstall /usr/local/lib/node_modules/wdio-sauce-service/node_modules/sauce-connect-launcher
节点脚本/install.js || nodejs 脚本/install.js

+ [email protected]

尝试创建酱汁隧道时出现以下错误。
无法启动 Sauce Connect。 退出代码 1 信号:空
“onPrepare”挂钩中的服务失败
错误:无法启动 Sauce Connect。 退出代码 1 信号:空
在 ChildProcess。(/usr/local/lib/node_modules/wdio-sauce-service/node_modules/sauce-connect-launcher/lib/sauce-connect-launcher.js:566:12)
在 ChildProcess.emit (events.js:198:13)
在 ChildProcess.EventEmitter.emit (domain.js:448:20)
在 Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)

请尊重并避免发布严肃的问题。 只有关于request模因。

@anton-bot 让它过去,继续你的生活。

请尊重并避免发布严肃的问题。 只有关于request模因。

@anton-bot 让它过去,继续你的生活。

Let it go

严肃地说,既然request已通过npm deprecate “正式”弃用,现在 _every_ 单个上游用户正在收到有关它的新警告。

我们可以考虑一下吗? 我认为这引起了过度的恐慌。 不仅如此,提交日志的自动化系统现在在弃用警告中引用问题键的

我同意request已经成熟到过时的地步,但是如果它仍然可以正常工作并且有数百个具有不同维护级别的依赖项,那么也许不应该在 npm 中正式弃用它,而是一个自述文件中最大字体的大警告?

然后有一天这些用户中的每一个都会说:“为什么我们没有警告过这一点!?” 😄

但是如果它仍然可以正常工作并且有数百个不同维护级别的依赖项,那么也许不应该在 npm 中正式弃用它,而应该在自述文件中以最大字体显示一个大警告?

问题是基本上_没有人_阅读这些内容。 99% 现在恐慌的人甚至都不会知道请求已被弃用,除非 NPM 警告他们。 _没有人_坐下来梳理_所有_他们的依赖项的自述文件,以确定哪些不再维护 - 直到为时已晚。

我在重复我自己,但你提出的场景本质上意味着人们会发现请求被弃用的艰难方式 - 当它最终开始破坏东西并由于在现代环境中成为一个旧的、未维护的 dep 而导致安全漏洞时。 当这种情况发生时,人们将需要_争先恐后_寻找替代方案,而不是有机会 - 就像现在一样 - 在请求仍然稳定和可用的情况下寻找替代方案,这可能至少又是一年。

弃用请求是负责任的事情,并且不会被逆转。 社区应该集中精力就一个好的替代方案和/或分叉达成一致,而不是试图推翻它。 继续前行。

WARN deprecated [email protected] :请求已被弃用,请参阅https://github.com/request/request/issues/3142
我该如何修复该错误?

@mrmehi你能读一下这里的第一条消息吗?

这不是错误。 您要么直接依赖请求(然后您应该移动到另一个库,例如gotbent ),或者您通过您的依赖项之一传递依赖它 - 然后要么更新它,如果它们已经继续前进,或者 ping 他们继续前进。

@kibertoad我真的很困惑我现在该怎么办?
当我尝试下载 expo.io 时会发生这种情况

@kibertoad我真的很困惑我现在该怎么办?
当我尝试下载 expo.io 时会发生这种情况

你不必做任何事情。 这不是错误,而是警告。 这就是日志的“警告”部分所指示的。
您_可以_让 expo.io 意识到他们可能想要开始寻找request替代品,因为它已被弃用,因此可能有一天会停止正常工作。
但他们似乎已经意识到这一点,正如您在此处看到的:
https://github.com/expo/expo-cli/issues/1659

微软仍然依赖这个包。 appcenter-cli 在安装时给出了这个弃用警告:

npm WARN deprecated [email protected] : request 已被弃用,参见https://github.com/request/request/issues/3142

鉴于 AppCenter 团队的过往记录,这似乎不太可能很快改变。 在某些情况下,我们的构建日志中充满了关于一年多前已弃用的软件包的警告。

请有人可以帮助我我在安装 expo-cli --global 时遇到了困难。
我已经安装了节点,git。 我将命令写为 npm install expo-cli --global 但面临的问题是:
"npm WARN deprecated [email protected] : request 已被弃用,见https://github.com/request/request/issues/3142
[…………] | fetchMetadata: WARN deprecated [email protected] : request 已被弃用,参见https://github.com/request/request/issues/3142 ""。
我遇到了这个错误。 请回复我如何解决这个问题。

@mrmehi你能读一下这里的第一条消息吗?

这不是错误。 您要么直接依赖请求(然后您应该移动到另一个库,例如gotbent ),或者您通过您的依赖项之一传递依赖它 - 然后要么更新它,如果它们已经继续前进,或者 ping 他们继续前进。

请你能帮我解决这个问题吗? 我正面临这个问题。

@lemessur事实证明,维护人员根本不知道该请求已被弃用。 见https://github.com/microsoft/appcenter-cli/pull/758#issuecomment -603667106

有人,请将其放在主要问题评论的顶部:

弃用通知

如果您在尝试安装依赖项时收到WARN deprecated [email protected]: request has been deprecated, see #3142 ,请放心,这不是错误。 您正在安装的软件包的作者(或者您,如果您依赖request )需要迁移到另一个库。 参见: https :

@Richienb
#3142(评论)

那我现在该怎么办。 请你能帮我解决这个问题吗?

@Richienb
#3142(评论)

我是 github 的新手,无法理解该怎么做。 你能告诉我一步一步如何解决我的问题吗? 寻找您的快速响应。

@alijatoi expo-cli正在使用request因此必须更改它的依赖项。

@Richienb那我现在该怎么办? 我应该等待还是有其他方法来安装 expo-cli。
请帮帮我,我在等。
谢谢你

@alijatoi创建问题和/或等待。

@Richienb感谢您的回复。
没有其他方法可以安装 expo cli 吗?

@alijatoi没有

伙计们,如果您因为已弃用的消息而遇到使用 npm 安装 expo-cli 的问题:安装 yarn 然后 yarn install expo-cli

@caio-vinicius 这只有效,因为 yarn 只显示一次警告,并且在重新生成锁定文件时会继续显示它。

伙计们,如果您因为已弃用的消息而遇到使用 npm 安装 expo-cli 的问题:安装 yarn 然后 yarn install expo-cli

@caio-vinicius 是的,我已经通过使用 install yarn 然后 yarn install expo-cli globlly 完成安装,但是在安装后,当我检查 expo cli 的版本时,它给出了 expo 没有定义任何内部或外部命令的问题

@alijatoi请确保在使用 yarn 进行全局安装时使用正确的语法。

https://classic.yarnpkg.com/en/docs/cli/global/

但是, @alijatoi ,安装突破了弃用警告几乎肯定是您的环境或您尝试安装的软件包的问题。 它不是特定于请求的,您不应在此处报告任何内容。

我参加聚会有点晚了,但最好添加一小部分替代方案,以便人们可以使用它们来替换request ,就像http.ClientRequest内置的 nodejs 一样。 谢谢。

F

我同意你所说的关于形式、兼容性和进展的一切,但是
我不明白为什么[email protected]不能通过重大更改来做到这一点。 毕竟 - 这就是semver背后的想法......

许多其他库已经采用了新的模式和功能,因此打破了兼容性并提高了它们的专业度。

即使它是一个全新的模块 - 名称代表可信度和
吸取教训的经验,我很难过看到它消失。

有兴趣了解更多相关信息。

嗯,谢谢你的旅程和你付出的所有努力。👍

陛下,您是英雄。

我确实理解其背后的原因,它使 JS/Node(一般而言)进展得更快一点。

您对 NodeJS 空间所做的“几乎”与 jQuery 对浏览器/DOM 空间所做的一样多。 您让使用 TCP 成为一种乐趣,这对后端开发至关重要。

我为此感谢你。

小心。

那么,关于使用 node 进行后端开发的新手向我发出 https 请求的替代方法的指南是什么?

谢谢悬崖。 会看看。

NPM WARN注册表意外预警https://registry.npmjs.org/ :其他警告EINTEGRITY:想sha512-7G3s83fOoweLlAsvR3wtw4DnepkrY + / FxmYxk1XnfAjE9xnoWRy9cLHWCywcc6l6018X1RdNxpJdtqX9WQAEXw ==但得到SHA512,NhZAWqNqTzZaAfgJYp0NlbBDUX8BMyOmobe3kYnymXfSxDgaiej4nP6N3aLVDtBTPHOfivySRs + AVsca0JgrTQ:使用SHA512时sha512-7G3s83fOoweLlAsvR3wtw4DnepkrY + / FxmYxk1XnfAjE9xnoWRy9cLHWCywcc6l6018X1RdNxpJdtqX9WQAEXw ==完整性校验和失败==。 (20905 字节)
npm WARN registry 由于重新验证期间出现请求错误而使用来自https://registry.npmjs.org/ 的陈旧数据。
npm WARN deprecated [email protected] : request 已被弃用,参见https://github.com/request/request/issues/3142
npm 错误! 代码完整性
npm 错误! 错误诚信
npm 错误! 无效的响应主体,而试图获取https://registry.npmjs.org/uuid :完整性验证失败sha512-7G3s83fOoweLlAsvR3wtw4DnepkrY + / FxmYxk1XnfAjE9xnoWRy9cLHWCywcc6l6018X1RdNxpJdtqX9WQAEXw ==(C:\用户\穆兰巴SERGIO \ AppData的\ Roamingnpm-cache_cacache \内容-V2 \ SHA512 \ec\6d\ecf377cea3078b940b2f477c2dc380e77a992b63efc5c666319355e77c08c4f719e8591cbd70b1d60b2c1c73a97d6155f97d650d40d40d97d650d40d40d40d9

npm 错误! 可以在以下位置找到此运行的完整日志:
npm 错误! C:\Users\MULAMBA SERGIO\AppData\Roamingnpm-cache_logs\2020-04-03T22_54_57_842Z-debug.log

npm WARN deprecated [email protected]: request 已被弃用,见 https://github.com/request/request/issues/3142
npm WARN deprecated [email protected]:根据 hapi 支持政策 (hapi.im/support),此版本已被弃用。 请升级到最新版本以获得最佳功能、错误修复和安全补丁。 如果您此时无法升级,可以为旧版本提供付费支持 (hapi.im/commercial)。
npm WARN deprecated [email protected]: request 已被弃用,见 https://github.com/request/request/issues/3142
npm WARN deprecated [email protected]: core-js@<3 不再维护,由于问题数量不推荐使用。 请将您的依赖项升级到 core-js@3 的实际版本。
npm WARN deprecated [email protected]:根据 hapi 支持政策 (hapi.im/support),此版本已被弃用。 请升级到最新版本以获得最佳功能、错误修复和安全补丁。 如果您此时无法升级,可以为旧版本提供付费支持 (hapi.im/commercial)。
npm WARN deprecated [email protected]:根据 hapi 支持政策 (hapi.im/support),此版本已被弃用。 请升级到最新版本以获得最佳功能、错误修复和安全补丁。 如果您此时无法升级,可以为旧版本提供付费支持 (hapi.im/commercial)。
npm WARN 已弃用 [email protected]:根据 hapi 支持政策 (hapi.im/support),此版本已弃用。 请升级到最新版本以获得最佳功能、错误修复和安全补丁。 如果您此时无法升级,可以为旧版本提供付费支持 (hapi.im/commercial)。
npm WARN 已弃用 [email protected]:此模块已移动,现在可在 @hapi/topo 上使用。 请更新您的依赖项,因为此版本不再维护并且可能包含错误和安全问题。
npm WARN 已弃用 [email protected]:此模块已移动,现在可在 @hapi/hoek 上使用。 请更新您的依赖项,因为此版本不再维护并且可能包含错误和安全问题。
C:\Users\Matheus\AppData\Roaming\npm\expo -> C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\bin\expo.js
C:\Users\Matheus\AppData\Roaming\npm\expo-cli -> C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\bin\expo.js
npm WARN 可选跳过可选依赖:@expo/[email protected] (node_modules\expo-cli\node_modules\@expo\traveling-fastlane-darwin):
npm WARN notsup 跳过可选依赖:@expo/[email protected] 不受支持的平台:想要 {"os":"darwin","arch":"any"}(当前:{"os":" win32","arch":"x64"})
npm WARN 可选跳过可选依赖:@expo/[email protected] (node_modules\expo-cli\node_modules\@expo\ngrok-bin\node_modules\@expo\ngrok-bin-linux-arm) :
npm WARN notsup 跳过可选依赖:@expo/[email protected] 不受支持的平台:想要 {"os":"linux","arch":"arm"}(当前:{"os" :"win32","arch":"x64"})
npm WARN 可选跳过可选依赖:@expo/[email protected] (node_modules\expo-cli\node_modules\@expo\ngrok-bin\node_modules\@expo\ngrok-bin-darwin-ia32) :
npm WARN notsup 跳过可选依赖:@expo/[email protected] 不受支持的平台:想要 {"os":"darwin","arch":"ia32"}(当前:{"os" :"win32","arch":"x64"})
npm WARN 可选跳过可选依赖:@expo/[email protected] (node_modules\expo-cli\node_modules\@expo\ngrok-bin\node_modules\@expo\ngrok-bin-freebsd-x64) :
npm 警告 notsup 跳过可选依赖:@expo/[email protected] 不受支持的平台:想要 {"os":"freebsd","arch":"x64"}(当前:{"os" :"win32","arch":"x64"})
npm WARN 可选跳过可选依赖:@expo/[email protected] (node_modules\expo-cli\node_modules\@expo\ngrok-bin\node_modules\@expo\ngrok-bin-freebsd-ia32) :
npm 警告 notsup 跳过可选依赖:@expo/[email protected] 不受支持的平台:想要 {"os":"freebsd","arch":"ia32"}(当前:{"os" :"win32","arch":"x64"})
npm WARN 可选跳过可选依赖:@expo/[email protected] (node_modules\expo-cli\node_modules\@expo\ngrok-bin\node_modules\@expo\ngrok-bin-linux-ia32) :
npm 警告 notsup 跳过可选依赖:@expo/[email protected] 不受支持的平台:想要 {"os":"linux","arch":"ia32"}(当前:{"os" :"win32","arch":"x64"})
npm WARN 可选跳过可选依赖:@expo/[email protected] (node_modules\expo-cli\node_modules\@expo\ngrok-bin\node_modules\@expo\ngrok-bin-linux-x64) :
npm 警告 notsup 跳过可选依赖:@expo/[email protected] 不受支持的平台:想要 {"os":"linux","arch":"x64"}(当前:{"os" :"win32","arch":"x64"})
npm WARN 可选跳过可选依赖:@expo/[email protected] (node_modules\expo-cli\node_modules\@expo\ngrok-bin\node_modules\@expo\ngrok-bin-darwin-x64) :
npm WARN notsup 跳过可选依赖项:@expo/[email protected] 不受支持的平台:想要 {"os":"darwin","arch":"x64"}(当前:{"os" :"win32","arch":"x64"})
npm WARN 可选跳过可选依赖:@expo/[email protected] (node_modules\expo-cli\node_modules\@expo\ngrok-bin\node_modules\@expo\ngrok-bin- win32-ia32):
npm 警告 notsup 跳过可选依赖:@expo/[email protected] 不受支持的平台:想要 {"os":"win32","arch":"ia32"}(当前: {"os":"win32","arch":"x64"})
npm WARN 可选跳过可选依赖:@expo/[email protected] (node_modules\expo-cli\node_modules\@expo\ngrok-bin\node_modules\@expo\ngrok-bin-sunos-x64) :
npm 警告 notsup 跳过可选依赖:@expo/[email protected] 不受支持的平台:想要 {"os":"sunos","arch":"x64"}(当前:{"os" :"win32","arch":"x64"})
npm WARN 可选跳过可选依赖:@expo/[email protected] (node_modules\expo-cli\node_modules\@expo\ngrok-bin\node_modules\@expo\ngrok-bin-linux-arm64) :
npm 警告 notsup 跳过可选依赖:@expo/[email protected] 不受支持的平台:想要 {"os":"linux","arch":"arm64"}(当前:{"os" :"win32","arch":"x64"})
npm WARN 可选跳过可选依赖:fsevents@^1.2.7 (node_modules\expo-cli\node_modules\chokidar\node_modules\fsevents):
npm WARN notsup 跳过可选依赖项:[email protected] 不受支持的平台:想要 {"os":"darwin","arch":"any"}(当前:{"os":"win32","arch": "x64"})
npm WARN @expo/[email protected] 需要sharp-cli@^1.10.0 的对等点,但没有安装。 您必须自己安装对等依赖项。
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\abbrev):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\abbrev' -> 'C:\ Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.abbrev.DELETE'
npm WARN 可选 SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\ansi-regex):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\ansi-regex' -> 'C :\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.ansi-regex.DELETE'
npm WARN 可选 SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\aproba):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\aproba' -> 'C:\ Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.aproba.DELETE'
npm WARN 可选跳过可选依赖项:[email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\balanced-match):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\balanced-match' -> 'C :\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.balanced-match.DELETE'
npm WARN 可选 SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\chownr):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\chownr' -> 'C:\ Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.chownr.DELETE'
npm WARN 可选 SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\code-point-at):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY:ENOENT:没有这样的文件或目录,重命名'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\code-point-at' -> 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.code-point-at.DELETE'
npm WARN 可选 SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\concat-map):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\concat-map' -> 'C :\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.concat-map.DELETE'
npm WARN 可选跳过可选依赖项:[email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\console-control-strings):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY:ENOENT:没有这样的文件或目录,重命名'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\console-control-strings' -> 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.console-control-strings.DELETE'
npm WARN 可选跳过可选依赖项:[email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\core-util-is):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY:ENOENT:没有这样的文件或目录,重命名'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\core-util-is' -> 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.core-util-is.DELETE'
npm WARN 可选 SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\deep-extend):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\deep-extend' -> 'C :\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.deep-extend.DELETE'
npm WARN 可选 SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\delegates):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY:ENOENT:没有这样的文件或目录,重命名'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\delegates' -> 'C:\ Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.delegates.DELETE'
npm WARN 可选跳过可选依赖项:[email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\detect-libc):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\detect-libc' -> 'C :\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.detect-libc.DELETE'
npm WARN 可选 SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\fs.realpath):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\fs.realpath' -> 'C :\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.fs.realpath.DELETE'
npm WARN 可选 SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\has-unicode):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\has-unicode' -> 'C :\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.has-unicode.DELETE'
npm WARN 可选 SKIPPING OPTIONAL DEPENDENCY:[email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\inherits):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\inherits' -> 'C:\ Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.inherits.DELETE'
npm WARN 可选 SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\ini):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\ini' -> 'C:\ Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.ini.DELETE'
npm WARN 可选跳过可选依赖项:[email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\isarray):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\isarray' -> 'C:\ Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.isarray.DELETE'
npm WARN 可选 SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\minimist):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\minimist' -> 'C:\ Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.minimist.DELETE'
npm WARN 可选 SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\ms):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\ms' -> 'C:\用户\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.ms.DELETE'
npm WARN 可选跳过可选依赖项:[email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\npm-normalize-package-bin):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY:ENOENT:没有这样的文件或目录,重命名'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\npm-normalize-package-bin' -> 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.npm-normalize-package-bin.DELETE'
npm WARN 可选 SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\number-is-nan):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY:ENOENT:没有这样的文件或目录,重命名'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\number-is-nan' -> 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.number-is-nan.DELETE'
npm WARN 可选跳过可选依赖项:[email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\object-assign):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\object-assign' -> 'C :\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.object-assign.DELETE'
npm WARN 可选 SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\os-homedir):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\os-homedir' -> 'C :\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.os-homedir.DELETE'
npm WARN 可选 SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\os-tmpdir):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\os-tmpdir' -> 'C :\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.os-tmpdir.DELETE'
npm WARN 可选 SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\path-is-absolute):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY:ENOENT:没有这样的文件或目录,重命名'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\path-is-absolute' -> 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.path-is-absolute.DELETE'
npm WARN 可选跳过可选依赖:[email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\process-nextick-args):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\process-nextick-args' -> 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.process-nextick-args.DELETE'
npm WARN 可选跳过可选依赖项:[email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\safe-buffer):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\safe-buffer' -> 'C :\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.safe-buffer.DELETE'
npm WARN 可选跳过可选依赖项:更安全缓冲区@2.1.2 (node_modules\expo-cli\node_modules\fsevents\node_modules\safer-buffer):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\safer-buffer' -> 'C :\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.safer-buffer.DELETE'
npm WARN 可选 SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\sax):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY:ENOENT:没有这样的文件或目录,重命名'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\sax' -> 'C:\ Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.sax.DELETE'
npm WARN 可选 SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\semver):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\semver' -> 'C:\ Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.semver.DELETE'
npm WARN 可选 SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\set-blocking):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\set-blocking' -> 'C :\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.set-blocking.DELETE'
npm WARN 可选跳过可选依赖:[email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\signal-exit):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\signal-exit' -> 'C :\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.signal-exit.DELETE'
npm WARN 可选跳过可选依赖项:[email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\strip-json-comments):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY:ENOENT:没有这样的文件或目录,重命名'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\strip-json-comments' -> 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.strip-json-comments.DELETE'
npm WARN 可选跳过可选依赖项:[email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\util-deprecate):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\util-deprecate' -> 'C :\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.util-deprecate.DELETE'
npm WARN 可选 SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\wrappy):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\wrappy' -> 'C:\ Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.wrappy.DELETE'
npm WARN 可选跳过可选依赖项:[email protected] (node_modules\expo-cli\node_modules\fsevents\node_modules\yallist):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: 没有这样的文件或目录,重命名 'C:\Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules\yallist' -> 'C:\ Users\Matheus\AppData\Roaming\npm\node_modules\expo-cli\node_modules\fsevents\node_modules.yallist.DELETE'

npm WARN deprecated [email protected] : request 已被弃用,参见https://github.com/request/request/issues/3142
请你能帮帮我吗? 我无法解决这个问题,也无法启动我的项目

npm WARN deprecated [email protected] : request 已被弃用,见 #3142
请你能帮帮我吗? 我无法解决这个问题,也无法启动我的项目

我也不

@liaz98 @TheLitz这不是错误,而是警告。 如果您的项目由于 npm 警告而无法构建/启动,那么您的项目和/或环境有问题。 这不是请求的问题。

@liaz98 @TheLitz这不是错误,而是警告。 如果您的项目由于 npm 警告而无法构建/启动,那么您的项目和/或环境有问题。 这不是请求的问题。

但是当我尝试举办世博会时,它不起作用

@TheLitz那么这是 Expo 的一个问题,您应该在他们的错误跟踪器中报告它。 在请求方没有什么可以或将要解决的。

@TheLitz那么这是 Expo 的一个问题,您应该在他们的错误跟踪器中报告它。 在请求方没有什么可以或将要解决的。

好的。 谢谢

我们请求一个请求未来。

tldr;
我现在应该用什么?

@YashKumarVerma使用postman-request

@TheLitz那么这是 Expo 的一个问题,您应该在他们的错误跟踪器中报告它。 在请求方没有什么可以或将要解决的。

你解决这个问题了吗???
npm WARN deprecated [email protected] :请求已被弃用,

那么,关于使用 node 进行后端开发的新手向我发出 https 请求的替代方法的指南是什么?

@OluwafemiAdesegha
您是否设法弄清楚要搬到哪里? 我和你在同一条船上! :(

对于任何寻找替代品的人,请查看 #3143( @farhan3040 @OluwafemiAdesegha @iamdesfranco

@mikeal我建议关闭这个问题;)

@iamdesfranco @farhan3040 HTTP 已弃用,请使用 Gopher 或 UDP

@mikeal我建议关闭这个问题;)

或者更确切地说是锁定它。 基本上所有需要说的都在这一点上说完了,唯一被问到的问题往往是已经回答过的问题(多次)。

佛朗哥,

为迟到的回应道歉。 我仍在尝试看看我会选择哪个
最后根据给出的建议继续。

2020 年 4 月 6 日星期一上午 9 点 12 分 Franco Labuschagne通知@github.com
写道:

那么为我提出 https 请求的替代方法的指南是什么
这是使用 node 进行后端开发的新手吗?

您是否设法弄清楚要搬到哪里? 我在同一条船上
像你一样! :(


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/request/request/issues/3142#issuecomment-609643295
或取消订阅
https://github.com/notifications/unsubscribe-auth/AOL4QYXM7V2BUK5LZCS7LDDRLGFH5ANCNFSM4HCP6LRA
.

和可能的替代方案是指这个问题。

我在哪里找到了这个页面的替代品?

是建议在浏览器中使用 fetch + fetch lib for node,还是只是基于承诺的替代方案等?

@TomYeoman建议不要使用request

@gcacars替代方案: https :

@Richienb谢谢。 我认为在 README 中有一个链接很重要。

我删除了“node_modules”文件夹和“package-lock.json”文件,然后执行以下 2 个命令。
初始化
安装

然后,它正常工作。

仍然活跃的提交者将尝试及时合并修复程序,但没有承诺。

绝妙的意外(?)双关语

npm WARN deprecated [email protected] : request 已被弃用,参见https://github.com/request/request/issues/3142

这个怎么解决???

@anton-bot 请不要恶意软件。

npm WARN deprecated [email protected] : request 已被弃用,见 #3142

这个怎么解决???

@Amouthinie没有什么可解决的,这不是错误。 NPM 警告您request已被弃用,您(或维护您的依赖项而依赖于request )应该考虑转而使用积极维护的包。

我有两个问题:
1 - sudo apt-get install nodejs npm
阅读包裹清单...完成
构建依赖树
正在读取状态信息...完成
nodejs 已经是最新版本 (13.13.0-1nodesource1)。
无法安装某些软件包。 这可能意味着
您请求了一个不可能的情况,或者,如果您正在使用
不稳定的发行版,一些必需的包没有
尚未创建或从“传入”中删除。
以下信息可能有助于解决这种情况:

以下软件包的依赖项不匹配:
nodejs:冲突:npm
E:无法修复问题,您保留(保留)损坏的软件包。

2 - 须藤 npm install -g @angular/cli
npm WARN deprecated [email protected]: request 已被弃用,见 https://github.com/request/request/issues/3142
npm 错误! 存在代码
npm 错误! 系统调用符号链接
npm 错误! 路径 ../lib/node_modules/@angular/cli/bin/ng
npm 错误! 目标 /usr/bin/ng
npm 错误! 错误号 -17
npm 错误! EEXIST:文件已经存在,符号链接'../lib/node_modules/@angular/cli/bin/ng' -> '/usr/bin/ng'
npm 错误! 文件存在:/usr/bin/ng
npm 错误! 删除现有文件并重试,或运行 npm
npm 错误! 使用 --force 鲁莽地覆盖文件。

npm 错误! 可以在以下位置找到此运行的完整日志:
npm 错误! /home/anderson/.npm/_logs/2020-04-17T16_25_56_704Z-debug.log

我是 Linux Mint 用户 19.3 Cinnamon, 4.4.8, 5.3.0-46-generic

谁能帮我?

@LeloCorrea您的错误与request无关,这是在本地环境中创建符号链接的问题:

npm ERR! EEXIST: file already exists, symlink '../lib/node_modules/@angular/cli/bin/ng' -> '/usr/bin/ng'

@LeloCorrea您的错误与request无关,这是在本地环境中创建符号链接的问题:

npm ERR! EEXIST: file already exists, symlink '../lib/node_modules/@angular/cli/bin/ng' -> '/usr/bin/ng'

你知道我该如何解决这个问题吗?

@LeloCorrea您的错误与request无关,这是在本地环境中创建符号链接的问题:
npm ERR! EEXIST: file already exists, symlink '../lib/node_modules/@angular/cli/bin/ng' -> '/usr/bin/ng'

你知道我该如何解决这个问题吗?

不是完全相同的问题,但解决方案可能是相同的。 你应该从这里开始:

https://stackoverflow.com/questions/48808384/angular-cli-error-path-and-code-eexist

此外,再次重申,此问题与 request 没有任何关系,您应该在相关问题跟踪器中寻求有关 Angular CLI 的帮助。

那么推荐的替代方案是什么? 只使用 http/https 包?

@RonRofe我正在使用https://github.com/sindresorhus/got ,它似乎是一个不错的继任者,它有一个关于如何从 request 迁移

@RonRofe这里有一个(WIP)替代方案列表: https :

我为此感到难过,从我记事起,请求就一直是我的首选库。
我只能感谢作者和贡献者多年来在这方面所做的令人难以置信的工作,并希望您的下一次冒险和这次一样令人兴奋。
干杯!

你能在你的第一个粘性评论中给出替代方案的建议吗?

您好,我正在尝试创建一个新的 angular 项目,但出现此错误:
/ 安装包... npm WARN deprecated [email protected] : request 已被弃用,参见https://github.com/request/request/issues/3142
npm WARN 已弃用[email protected] :Chokidar 2 将在节点 v14+ 上中断。 升级到 chokidar 3,依赖项减少 15 倍。
npm WARN 已弃用[email protected] :fsevents 1 将在节点 v14+ 上中断。 通过大量改进升级到 fsevents 2。
npm WARN 已弃用[email protected] :请参阅https://github.com/lydell/urix#deprecated
npm WARN 已弃用[email protected]https :
npm 错误! 解析 '..." 附近时 JSON 输入意外结束:{"@angular/core":"5'

npm 错误! 可以在以下位置找到此运行的完整日志:
npm 错误! C:\Users\dell\AppData\Roamingnpm-cache_logs\2020-04-21T11_50_16_582Z-debug.log
× 包安装失败,见上。
原理图工作流失败。 看上面。
有人能帮我解决这个问题吗?

您好,我正在尝试创建一个新的 angular 项目,但出现此错误:
/ 安装包... npm WARN deprecated [email protected] : request 已被弃用,见#3142
npm WARN 已弃用[email protected] :Chokidar 2 将在节点 v14+ 上中断。 升级到 chokidar 3,依赖项减少 15 倍。
npm WARN 已弃用[email protected] :fsevents 1 将在节点 v14+ 上中断。 通过大量改进升级到 fsevents 2。
npm WARN 已弃用[email protected] :请参阅https://github.com/lydell/urix#deprecated
npm WARN 已弃用[email protected]https :
npm 错误! 解析 '..." 附近时 JSON 输入意外结束:{"@angular/core":"5'

npm 错误! 可以在以下位置找到此运行的完整日志:
npm 错误! C:\Users\dell\AppData\Roamingnpm-cache_logs\2020-04-21T11_50_16_582Z-debug.log
× 包安装失败,见上。
原理图工作流失败。 看上面。
有人能帮我解决这个问题吗?

我也是

创建我的项目/angular.json(3598 字节)
创建 my-project/package.json(1286 字节)
创建我的项目/README.md(1026 字节)
创建 my-project/tsconfig.json(489 字节)
创建我的项目/tslint.json(3125 字节)
创建我的项目/.editorconfig(274 字节)
创建我的项目/.gitignore(631 字节)
创建我的项目/浏览器列表(429 字节)
创建 my-project/karma.conf.js(1022 字节)
创建 my-project/tsconfig.app.json(210 字节)
创建 my-project/tsconfig.spec.json(270 字节)
创建 my-project/src/favicon.ico(948 字节)
创建 my-project/src/index.html(295 字节)
创建 my-project/src/main.ts(372 字节)
创建 my-project/src/polyfills.ts(2835 字节)
创建 my-project/src/styles.css(80 字节)
创建 my-project/src/test.ts(753 字节)
创建 my-project/src/assets/.gitkeep(0 字节)
创建 my-project/src/environments/environment.prod.ts(51 字节)
创建 my-project/src/environments/environment.ts(662 字节)
创建 my-project/src/app/app-routing.module.ts(246 字节)
创建 my-project/src/app/app.module.ts(393 字节)
创建 my-project/src/app/app.component.html(25757 字节)
创建 my-project/src/app/app.component.spec.ts(1071 字节)
创建 my-project/src/app/app.component.ts(214 字节)
创建 my-project/src/app/app.component.css(0 字节)
创建 my-project/e2e/protractor.conf.js(808 字节)
创建 my-project/e2e/tsconfig.json(214 字节)
创建 my-project/e2e/src/app.e2e-spec.ts(643 字节)
创建 my-project/e2e/src/app.po.ts(301 字节)
/ 安装包...npm WARN 已弃用[email protected] :TSLint 已被弃用,而支持 ESLint。 请参阅https://github.com/palantir/tslint/issues/4534了解更多信息。
npm WARN deprecated [email protected] : request 已被弃用,参见https://github.com/request/request/issues/3142
npm WARN 已弃用[email protected] :升级到 chokidar 3,依赖项减少 15 倍。 Chokidar 2 将在节点 v14 上中断。
npm WARN 已弃用[email protected] :请参阅https://github.com/lydell/urix#deprecated
npm WARN 已弃用[email protected]https :
npm 错误! 解析 '....0.1","systemjs":"^0.' 附近时,JSON 输入意外结束。

npm 错误! 可以在以下位置找到此运行的完整日志:
npm 错误! C:\Users\92306\AppData\Roamingnpm-cache_logs\2020-04-21T16_08_05_350Z-debug.log
× 包安装失败,见上。
原理图工作流失败。 看上面。

@ awais0048 @xunyegege您的错误与请求无关。 研究实际输出,它会准确地告诉您错误是什么。 如果您对 Angular CLI 有其他问题,请在他们的问题跟踪器中报告。

@ awais0048 @xunyegege您的错误与请求无关。 研究实际输出,它会准确地告诉您错误是什么。 如果您对 Angular CLI 有其他问题,请在他们的问题跟踪器中报告。

我尝试升级 NPM 和 node 但没有任何线索。 如果有人找到解决方案,你能告诉我吗?

再次@ANadjia ,该错误与此包无关。 您应该在跟踪器中询问 Angular CLI。

嗨,安装包... npm WARN 已弃用[email protected] :请求已被弃用,请参阅https://github.com/request/request/issues/3142 npm ERR! 在 '...ZXQ4dst\n4bcYaiOdlbvh' 附近解析时 JSON 输入意外结束
当我创建新项目时
有什么建议

@mohamedelsoufi这是你的环境或项目的问题,而不是这个包的问题。 NPM 只是警告你这个包已被弃用。

@米莱特
保持此线程运行的好主意,以提醒人们弃用世界上 99% 项目中使用的包的后果。

@anton-bot 实际上是提醒有多少人不使用 RTFM。

@csvan他们说这也不是他们的问题
无论如何,我终于让事情为我工作了。
所以基本上:
1 / i 降级到 node js 版本 10.13.0 ;
2 / 我手动删除了 npm_cache 文件夹
3 / 运行 npm install ;
神奇地它起作用了

@ANadjia很高兴听到!

建议的替代品尚不清楚。 我们应该用什么来代替?

@johnworthley任何对你https :

@johnworthley任何对你

嗯不错的地方https://www.youtube.com/watch?v=riuZHZPcZsg

即使它已被弃用,我们仍然可以使用它吗? 请告知@mikeal

即使它已被弃用,我们仍然可以使用它吗? 请指教

@DokurOmkar是的。 没有什么可以阻止您使用该库。 这只是一个警告。 然而,它被弃用是有原因的:那里有更好、更现代的图书馆。 阅读此线程,您将找到指向替代库列表的链接。

无法创建新的角度项目
它失败的原因是 -
npm WARN deprecated [email protected] : request 已被弃用,参见https://github.com/request/request/issues/3142

@adibhosale你有更多信息吗? 您在控制台中看到的其他消息是什么?

@adibhosale不,它并没有因此而失败。 如果是,那么是 angular-cli 的问题,而不是这个包的问题。 检查日志输出的其余部分。

@anton-bot
回复-> @adibhosale你有更多信息吗? 您在控制台中看到的其他消息是什么?

这是我在创建新的角度项目时遇到的错误。

安装包... npm WARN deprecated [email protected] :TSLint 已被弃用而支持 ESLint。 请参阅https://github.com/palantir/tslint/issues/4534了解更多信息。
npm WARN deprecated [email protected] : request 已被弃用,参见https://github.com/request/request/issues/3142
npm WARN 已弃用[email protected] :Chokidar 2 将在节点 v14+ 上中断。 升级到 chokidar 3,依赖项减少 15 倍。
npm WARN 已弃用[email protected] :fsevents 1 将在节点 v14+ 上中断,并且可能使用不安全的二进制文件。 升级到 fsevents 2。
npm WARN 已弃用[email protected] :请参阅https://github.com/lydell/urix#deprecated
npm WARN 已弃用[email protected]https :
npm 错误! cb() 从未调用过!

npm 错误! 请在以下位置报告此错误:
npm 错误! https://npm.community

npm 错误! 可以在以下位置找到此运行的完整日志:
npm 错误! C:\Users\adibh\AppData\Roamingnpm-cache_logs\2020-05-05T08_46_31_829Z-debug.log
× 包安装失败,见上。
原理图工作流失败。 看上面。

我很困惑为什么这么多用户报告与此问题完全无关的细节?

似乎大多数来到这里的用户都不知道他们在做什么,甚至可能不明白弃用这个词的含义。

但是这里发布的最后一条消息,有不止一条弃用消息,为什么他们选择报告这个问题? 因为有些用户已经这样做了,他们只是继续?

以及该特定消息的最后一点,特别指出应将 npm 错误报告给 npm.community。

我认为这里的维护者应该删除所有不相关的讨论项以请求弃用,并在此处锁定讨论。

也许请求包的弃用消息应该更改为链接,而不是问题,就像 lydell/urix 和 lydell/resolve-url 包一样,因此这里不会出现大量无关帖子。

@glensc谁知道弃用世界上几乎每个 JS 项目都使用的包会产生意想不到的后果!

@glensc我们正在报告此特定问题,因为在安装 angular/CLI 时,我们会

谢谢 :-)

如果显示 WARN,则表示它不是 ERR。 只是一些事实。

@adibhosale不,您会收到 NPM 警告,其中包含指向此 github 问题的链接 - 在同一日志输出中的许多其他链接中。 警告与失败无关,您需要更仔细地阅读日志。 它明确指出:

npm ERR! cb() never called!
npm ERR! This is an error with npm itself. Please report this error at:
npm ERR! https://npm.community

这就是安装失败的原因。 您需要进行尽职调查并找出导致此问题的原因,然后再报告与它完全无关的包中的问题。

@anton-bot 你一直这么说。 你有什么建设性的贡献吗,或者你还只是在这里捣乱?

@csvan @leoskyrocker @glensc我为发起这个道歉。 以后会好好照顾的。 谢谢 :-)

如何解决这个问题
无法创建角度项目
问题

////////

弃用[email protected] :请求已弃用,参见https://github.com/request/request/issues/3142
npm WARN checkPermissions 缺少对 /usr/local/lib/node_modules 的写访问权限
npm 错误! 代码 EACCES
npm 错误! 系统调用访问
npm 错误! 路径 /usr/local/lib/node_modules
npm 错误! 错误号 -13
npm 错误! 错误:EACCES:权限被拒绝,访问“/usr/local/lib/node_modules”
npm 错误! [错误:EACCES:权限被拒绝,访问'/usr/local/lib/node_modules'] {
npm 错误! 错误号:-13,
npm 错误! 代码:'EACCES',
npm 错误! 系统调用:'访问',
npm 错误! 路径:'/usr/local/lib/node_modules'
npm 错误! }
npm 错误!
npm 错误! 您的操作系统拒绝了该操作。
npm 错误! 您可能没有作为当前用户访问此文件的权限
npm 错误!
npm 错误! 如果您认为这可能是权限问题,请仔细检查
npm 错误! 文件及其包含目录的权限,或尝试运行
npm 错误! 再次以 root/管理员身份执行该命令。

npm 错误! 可以在以下位置找到此运行的完整日志:
npm 错误! /Users/vivek/.npm/_logs/2020-05-05T11_48_34_569Z-debug.log

@vivek08011991日志输出解释了您需要做什么。 这是您尝试在不使用sudo情况下全局安装 angular 的问题。 与这个包无关。

嘿,伙计,这都是胡说八道,别介意,
我会告诉你解决方案
我试了 3 天然后我明白了
第一: npm install npm
第二个: npm uninstall --save react-native-cli
最后: npm install -g @angular/cli

嘿,伙计,这都是胡说八道,别介意,
我会告诉你解决方案
我试了 3 天然后我明白了
第一: npm install npm
第二个: npm uninstall --save react-native-cli
最后: npm install -g @angular/cli

伙计,你是对的 alhamdou lil allah。 为什么反应 cli 会导致问题? 那里有一些丑陋的竞争做法吗? 谢谢哥们儿

请注意这是request模块问题跟踪器,而不是angular

有人能告诉我request的替代品吗?

我正在阅读这篇文章,我更喜欢request的简单 API:

https://www.twilio.com/blog/2017/08/http-requests-in-node-js.html

@dolanmiu当然。 任何阅读过您刚刚发布的主题(甚至搜索 _alternative_)的人都可以告诉您, https://github.com/request/request/issues/3143 上有一个替代列表

@dolanmiu @root/request 是一个主要的替代品。

@Richienb介于

@anton-bot 绝对是@root/request。

我已经使用request一段时间了,我同意 mikeal。 Node 的原生模块已经随着时间的推移而开发,以匹配这个request模块,除了在request的新版本出现时反复修复代码之外,没有任何理由再使用它出去。

request将永远铭刻在历史的石头上; node长大了。 现在是我们需要放手的时候了。 request一直是创新功能的先驱,我会觉得如果没有request ,节点开发就不会那么好。

作为一名年轻的程序员,我喜欢使用这个包,但我也知道,为了改进和构建更好的程序,不能再停留在过去。

作为一个年轻的程序员,我喜欢使用这个包

那让我发笑。 作为我的年轻程序员,我使用 Commodore BASIC。 :笑脸:

@darkRaspberry

  1. 把你的错误报告读到最后,不仅仅是第一行,里面清楚地写了错误是什么,甚至建议做什么。 你显然没有读过第一行。
  2. 你谷歌你的错误吗?
  3. 阅读之前的讨论并请解释你为什么在这里发帖,你的问题报告与请求模块无关。

只需禁用您的防病毒软件,您就不会收到任何错误
谢谢 !!!

@glensc我完全重新安装了我的终端以删除任何其他版本的节点然后我尝试了“sudo”
它奏效了。
我通过使用 curl 在我的 PPA 中添加节点 js 来使用 nodejs 的节点版本。

在这里它起作用了
dark<strong i="10">@darkRaspberry</strong>:~$ sudo npm install firebase-tools -g

npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
/usr/bin/firebase -> /usr/lib/node_modules/firebase-tools/lib/bin/firebase.js
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules/firebase-tools/node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

+ [email protected]
updated 2 packages in 42.696s

这让我很感慨。 :bow: 致所有贡献者!

image

@sudarsan2017该错误与request没有任何关系

你好! 伙计们在 Windows 上遇到了同样的问题,我使用命令解决了它

npm install [email protected]

我希望你是对的。

我收到 npm 警告npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142

我如何解决它 ?

@aman78600没有办法修复它。

我收到 npm 警告npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142

@aman78600它不需要修复。 这只是一个警告request has been deprecated

你的 NPM 说来这里寻找替代品,但我没有看到它们。

你的 NPM 说来这里寻找替代品,但我没有看到它们。

@skeddles如果您按下 Control-F 并搜索alternatives ,您就会找到https://github.com/request/request/issues/3143的链接

我无法通过此命令安装 vue-cli npm install -g @vue/cli 它显示消息:npm WARN deprecated [email protected] : request has been deprecated

@somnangrom这不可能是真的,我确信控制台中还有其他一些消息,而不仅仅是这一行。

我真的很想说非常感谢你为这个包工作。 它在我的项目中帮助了我很多。 停止支持的完全可以理解的原因。

你做得很棒,你应该为自己感到骄傲!

🤝

我无法安装最新版本的 Angular CLI。
Nodejs 64 位版本:12.18.1
npm 版本:6.13.6
当我运行 npm install -g @angular/ cli@latest来安装最新版本的 Angular CLI 时,它给了我以下错误警告
npm WARN deprecated [email protected] : request 已被弃用,参见https://github.com/request/request/issues/3142

安装卡住了消息:postinstall: sill install executeActions
请帮我解决这个问题

我无法安装最新版本的 Angular CLI。
我已经在我的 Windows 10 Pro 笔记本电脑上安装了 Nodejs
Nodejs 64 位版本:12.18.1npm 版本:6.13.6
当我运行 npm install -g @angular/ cli@latest来安装最新版本的 Angular CLI 时,它给了我以下错误警告
npm WARN deprecated [email protected] : request 已被弃用,见 #3142

安装卡住了消息:postinstall: sill install executeActions
请帮我解决这个问题

@anjaikr@aman78600参考https://github.com/angular/angular-cli/wiki/stories-1.0-update安装最新版本希望它有帮助

npm install -g json-server 不工作我该怎么办?

我们仍然可以将它用于基本操作,对吗?

我在安装 angular 5 时遇到错误,我尝试安装但它显示请求已被弃用...我该怎么办

@mikeal说清楚,你打算用bent代替request吗?

你好,

有人知道是什么问题:
npm i -g json-server
npm WARN deprecated [email protected] : request 已被弃用,参见https://github.com/request/request/issues/3142
npm WARN 已弃用[email protected] :不再支持此库

谢谢。

我听过的最愚蠢的折旧原因之一。 想象一下,如果谷歌和微软将他们所有的产品都上架,因为“新图书馆完成类似任务要获得采用要困难得多”,并且因为“生态系统现在正在向这些模式转变”。 完全荒谬。

image

首先表示我对这个 repo 的尊重,但是,老实说, @cypheron所说的确实有道理。

@Wenjie-Shao 恐怕没有任何意义。 如果没有弃用通知,更多的人会在没有意识到它已经过时的情况下下载和使用这个库。 @mikeal通过正式弃用这个库而不是让它腐烂,为社区做出了巨大的

我只是想摸索一下设置surge.sh的教程。

看来你们这里发生了很多事情。 如果我只是忽略警告并离开,它会在新的未来把我搞砸吗?

我听过的最愚蠢的折旧原因之一。 想象一下,如果谷歌和微软将他们所有的产品都上架,因为“新图书馆完成类似任务要获得采用要困难得多”,并且因为“生态系统现在正在向这些模式转变”。 完全荒谬。

但他们已经做到了。 而且经常。 来自这些软件巨头的许多产品已不复存在或目前已被弃用且未获得任何更新。 听说过 Windows 95 或 FoxPro 吗? 每个软件项目最终都会因某种原因而结束。 Request 的作者也没有将其下架,他们正在停止新的开发。 严重的错误修正仍然会发生一段时间,如果你的项目依赖它 - 没有问题。 您仍然可以继续使用它。

但是,如果您开始一个新项目,就会有更好、更现代的替代方案。 语言已经发展,现在有更好的方法来做同样的事情,但 Request 跟不上它,因为它需要遗留项目来使用它。 对于新项目,它是次优的。

所以这个决定对我来说完全有意义。 将 Request 留在原处,以便遗留项目仍然可以继续使用它,但对于新项目推荐新库。

为什么有人会通过 axios 使用请求,是否有任何具体原因?

为什么有人会通过 axios 使用请求,是否有任何具体原因?

当然。 在我的头顶:

  • 你只是习惯了它或者有很多使用它的经验
  • 您的项目已经到处使用它。 全部切换需要数周甚至数月的代码重写。
  • 公司/项目编码指南要求使用此库(或仅允许具有某些“成熟度”要求的库)
  • 第 3 方库需要它(甚至可能要求您在使用库时使用它)。 如果图书馆没有任何替代品,则额外加分。
  • 您是一名学生,您正在参加的课程明确教授要求并在考试/家庭作业中提供

本质上,这些都是同一主题的变体——您需要处理一些尚未跟上最新趋势的遗留内容。 这往往在现实生活中经常发生。

npm WARN deprecated [email protected] : request 已被弃用,参见https://github.com/request/request/issues/3142
npm WARN 已弃用 @hapi/ joi @ joi将离开@hapi组织并回到“joi”(https://github.com/sideway/joi/issues/2411)
npm WARN deprecated @hapi/ [email protected] : 此版本已被弃用,不再支持或维护
npm WARN deprecated @hapi/ [email protected] : 此版本已被弃用,不再支持或维护
npm WARN deprecated @hapi/ [email protected] : 此版本已被弃用,不再支持或维护
npm WARN deprecated @hapi/ [email protected] : 此版本已被弃用,不再支持或维护
npm WARN 已弃用[email protected] :不再支持此库
npm WARN 已弃用[email protected] :请参阅https://github.com/lydell/urix#deprecated
npm WARN 已弃用[email protected]https :
npm WARN 已弃用[email protected] :Chokidar 2 将在节点 v14+ 上中断。 升级到 chokidar 3,依赖项减少 15 倍。
npm WARN 已弃用[email protected] :fsevents 1 将在节点 v14+ 上中断,并且可能使用不安全的二进制文件。 升级到 fsevents 2。

为什么???? 我所有的 NPM 全局安装总是警告我它已被弃用?? 如何解决这个问题

我尝试卸载节点
或者
更新 NPM
但它不起作用
请帮我

它已被弃用。
你无法解决这个问题。
忽略警告。

或者重写您的代码,使其不使用请求。

@acatzk

尝试

npm install -s ( 或 --silent )
或者

npm install -q(或 --quiet)

使警告静音

这个线程是最好的。

你好。 我是 API 的新手。 我试图安装请求包,它说它现在已被弃用。 我试着查了一下,看看发生了什么,但如果有人能向我解释我现在能做什么,我将不胜感激? 这是否意味着请求包不再可用? 我可以使用什么其他软件包来完成相同的工作?

@mohammed3736不,它仍然可以使用。 但是不会更新。 它不会获得新功能。 它可能会在一段时间内修复一些错误,但不会持续很长时间。 警告将永远存在。 从本质上讲,他们正在放弃该项目。 如果您想对其进行任何更改,则需要自己进行。 毕竟 - 请求的所有源代码仍然可用。 你可以制作自己的叉子并用它做任何事情。

如果您正在编写一个新项目,最好尝试另一个更现代的库。 例如,我们使用 Axios,但我确定还有其他的。

我现在要在面试中问以下问题,而不是 Fizzbuzz:

You have faced the following message in your console.

What should you do about it and how do you fix it?

> npm WARN deprecated [email protected]: request has been deprecated, see #3142

@anton-bot 这很简单,答案是,“我点击链接,什么都不读,而是转到线程底部并发布与其他人相同的问题。”

我能得到这份工作吗?

@anton-bot 这很简单,答案是,“我点击链接,什么都不读,而是转到线程底部并发布与其他人相同的问题。”

我能得到这份工作吗?

我问的原因是因为我的控制台日志中不断出现 401。 并且请求模块对我不起作用。 我正在尝试使用 bitcoinaverage 和https://any-api.com/ 中的 api,但它们都没有工作。 当我进入 localhost3000 时,html 工作,我得到了页面,但是当我按下按钮得到结果时,我的控制台崩溃了。 我的控制台日志要么显示应用程序崩溃,要么显示 statusCode 和浏览器上的 401。 另请注意,我的所有代理均未启用,我尝试了所有方法,但不断收到错误消息。 如果你能帮助我,我将不胜感激。

@mohammed3736 - 这是问错的地方。 此外,我 99.99% 确定这不是请求库的错。 你的程序有一个错误,你自己做的。 你也得自己想办法。 如果您仍然需要帮助,请尝试在 StackOverflow 上询问,但请包含不起作用的代码。 最重要的是 - 尝试制作尽可能小的崩溃程序并显示源代码。

我也来这里问一个问题,但是……这里发生的所有种族主义攻击是怎么回事? 你们这些人真是难以置信。

是的,我仍然不知道为什么我的代码不起作用。 控制台中唯一的错误将我带到了这里。

检查您的特权并玩得开心

我也来这里问一个问题,但是……这里发生的所有种族主义攻击是怎么回事? 你们这些人真是难以置信。

是的,我仍然不知道为什么我的代码不起作用。 控制台中唯一的错误将我带到了这里。

检查您的特权并玩得开心

您指的是哪些种族主义攻击? 这听起来很糟糕

观察到同样的问题。 如果有人知道如何解决,请帮助

[email protected] :请求已被弃用,参见https://github.com/request/request/issues/3142

@HaseebAhmed49被弃用的“请求”npm 包本身不是问题。 消息是给图书馆项目开发人员的。

别担心。 github上很多人都跟我说没关系。 它
只是基本上意味着该软件包不会添加新功能
到它了,它不会更新,但它仍然是完全没问题的
用。 我用过它,很好。

在星期一,2020年9月14日在下午11时57分义隆Ruusamäe [email protected]
写道:

>
>

@HaseebAhmed49 https://github.com/HaseebAhmed49 “请求” npm
包被弃用本身不是问题。 消息是图书馆
项目开发商。


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/request/request/issues/3142#issuecomment-692279572
或取消订阅
https://github.com/notifications/unsubscribe-auth/AQFTBJ255VRYJW4VMUFQQ23SFZYSZANCNFSM4HCP6LRA
.

但使用起来还是完全没问题的

并不真地。 它可能会_暂时_工作,但你永远不应该对一个不会收到进一步错误和安全修复的包有明确的依赖。 当该包最终_确实_停止工作(几乎肯定会)时,您将您的应用程序(和用户)置于突然损坏和安全泄漏的重大风险中。 对于像request这样的包来说尤其如此,它提供了与发出网络请求一样重要和敏感​​的东西。

弃用警告是开始迁移到其他地方的严重通知。 此线程中已经提到(并重复)了几种替代方法。

大家好,我也有这个过时的问题
所以我做的是卸载nodejs并下载nodejs的最新功能
这是 14.10.1 当前最新功能
https://nodejs.org/en/

并删除您在计算机中安装的所有全局 npm

就是这样......

所有弃用的都消失了......

@acatzk wtf lmao

此库已弃用。 如果存在错误,则不会采取任何措施来修复它。 如果存在安全问题,则不会采取任何措施来解决此问题。

你不应该使用这个。

@davwheat谢谢

这个请求模块的替代方案是什么?

我们可能会做的事情 - 请讨论和自愿!

  • [] 使用项目的当前状态更新自述文件
  • [] 更新 ci 发布管道 @mikeal
  • [] 提供有关request替代品的一些指导的文档 #3143
  • [ ] 在安装包时添加警告消息以使用另一个包并参考文档
  • [ ] 选择一个停止支持的日期(我投票 6 个月,但 12 个月可能更友好)
  • []关闭所有功能请求和功能prs
  • [ ] 审查并合并相关的错误修复
  • [ ] 添加 github 问题和 pr 模板,说明不会合并功能
  • [ ] 弃用下一个主要版本 ( 3.x ),因此处于活动维护中的项目会收到警告,但较旧的项目会照常继续

任何有关此时谁在做什么的更新?

对于那些正在寻找 Google 支持的可靠替代方案的人(除了 https://github.com/request/request/issues/3143 中的替代方案),我强烈推荐https://github.com/googleapis/gaxios。 在最近的一个项目中使用它,到目前为止它非常好。

有哪些替代方案? 你的 npm 页面说For more information about why request is deprecated and possible alternatives refer to {the link to this page}

3143

npm WARN registry 由于重新验证期间出现请求错误而使用来自https://registry.npmjs.org/ 的陈旧数据。
npm WARN deprecated [email protected] : request 已被弃用,参见https://github.com/request/request/issues/3142

@thbestforyourbizdeployment是的。

谢谢。

你能帮助我吗?

npm WARN deprecated [email protected]: request 已被弃用,见 https://github.com/request/request/issues/3142
npm WARN 已弃用 [email protected]:不再支持此库
npm 错误! 代码 EEXIST
npm 错误! 系统调用符号链接
npm 错误! 路径../lib/node_modules/firebase-tools/lib/bin/firebase.js
npm 错误! 目标 /usr/local/bin/firebase
npm 错误! 错误号 -17
npm 错误! EEXIST:文件已经存在,符号链接'../lib/node_modules/firebase-tools/lib/bin/firebase.js' -> '/usr/local/bin/firebase'
npm 错误! 文件存在:/usr/local/bin/firebase
npm 错误! 删除现有文件并重试,或运行 npm
npm 错误! 使用 --force 鲁莽地覆盖文件。

npm 错误! 可以在以下位置找到此运行的完整日志:
npm 错误! /Users/bahar/.npm/_logs/2020-11-18T17_07_43_310Z-debug.log

@baharozcelik没有什么可以帮助您的。

读。 问题。

须藤 npm install --global gulp-cli
像这样尝试

此页面是否有帮助?
0 / 5 - 0 等级