2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

Visual Studio 中断 NPM 套件库服务

  • 2016-11-14
  • 本文字数:1087 字

    阅读完需:约 4 分钟

微软在 VS 代码 1.7 版本中断了 npm 套件库的服务之后,推出了 VS 代码 1.7.1 版本。

VS 代码 1.7 版本提供的自动类型获取(ATA)功能,旨在监视开发人员的 package.json 文件,并自动将所有依赖项(dependencies)的类型声明文件(type declaration files)安装在文件系统上的缓存中。这不同于以前依靠开发人员手动安装类型声明文件来为 package.json 中的依赖项提供 IntelliSense。

以下摘录于项目经理 Wade Anderson 的微软 1.7 回滚事件报告,事件发生在他们团队在 V1.7 版本中将 ATA 功能推向市场之后:

11 月 2 日〜4:12 pm PST npm 与我们联系, 告知他们监测到巨大的套件库活动峰值,这些活动来自于试图在 @types 范围内访问不存在的包(package) 的客户端。峰值时,这些请求占所有流量的大约 10%(有趣的是,VS 代码用户发送请求的数量大约与 npm 监测到的印度的请求数量相同),并短暂地妨碍了他们的服务。

npm dev ops 迅速采取行动,以减轻无意的 DDoS 攻击,并判断该事件来源于 VS 代码 1.7 版本。关键原因是大量对不存在的包 (package) 的请求。

Anderson 解释说,TypeScript 语言服务器会先检查 package.json 中所列出的模块是否已在应用缓存中,然后再为那些不在缓存中的模块向 npm 发送请求:请求 @ types/{module},添加任何尚未存在的模块。

“每次打开一个项目或文件,会为不存在的模块发出请求,并预期着将新的类型声明文件添加到 @types 范围。这导致了 npm 响应 404 错误信息。鉴于不在 @types 范围内的模块数量很大,大量的 404 会短暂影响 npm 的可用性”,Anderson 说。

除了应对 ATA 的无意 DDoS 攻击之外,1.7 版本还实现了许多重要更新,包括在 HTML 中 CSS 的自动补全。现在开发人员可以看到 CSS 语言特性了,它用于嵌入到 HTML 中的 CSS 样式的自动补全、验证和着色注释,如下图所示。

根据微软的博客文章,该版本还包含“多目标调试”的初期实现。这功能允许在VS 代码的单个实例中同时活跃着多个调试进程。该更新使开发人员可以同时调试扩展及其调试适配器和/ 或语言服务器,同时还可以在单个项目文件夹中调试客户端和服务器,以及调试集群程序。

1.7 版本还提供了 Node.js 调试,把那些必要但极少改变的属性设置成灰色,删除不太常用的属性,并把重写和改进的文档以及注释链接到在线文档。

Anderson 说 VS 代码团队将与 Typescript 团队合作,为 ATA 寻找一个“令人满意的修复”。

查看英文原文 VS Code Breaks NPM registry


感谢冬雨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-11-14 18:002061
用户头像

发布了 22 篇内容, 共 61890 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

【场景驱动】企业的哪些重复性任务,最适合用Coze循环节点来解决?——慢慢学AI146

AI决策者洞察

#人工智能 Prompt

GSCF收购IBM Deutschland Kreditbank GmbH

财见

【全方位解析】企业如何通过提示词工程优化AI输出,提升市场竞争力—慢慢学AI045

AI决策者洞察

#人工智能 Prompt

华为云Flexus云服务器X实例之openEuler系统下部署k8s管理面板KubePi

轶天下事

什么是AI Agent?——最简单的解释

TechubNews

#人工智能

解锁企业级邮件服务,在华为云FlexusX上部署Mailcow开源方案

轶天下事

走出群山,长赛道“攀登者”vivo

脑极体

AI

部署服务器管理软件宝塔面板

轶天下事

构建企业级文件管理系统,轻松搭建Seafile社区版云存储解决方案.

轶天下事

AutoGen入门-让两个AI自行聊天完成任务

不在线第一只蜗牛

人工智能 AI

【翻译】如何构建高效智能体(Anthropic官方指导)——慢慢学AI147

AI决策者洞察

#人工智能 Prompt

【干货分享】AI 开发者必学!掌握 Coze 工作流核心技能的全攻略!——慢慢学AI145

AI决策者洞察

#人工智能 Prompt

《CPython Internals》阅读笔记:p43-p60

codists

CPython Internals

华为云Flexus云服务器X实例 基于CentOS系统镜像快速部署Laravel开源论坛

轶天下事

华为云Flexus云服务器X实例的快速入门与配置指南

轶天下事

云服务器Flexus X实例,Docker集成搭建Halo博客平台

轶天下事

英伟达世界基础模型 Cosmos,教 AI 理解物理世界;阿里通义与雷鸟合作推出 AI 眼镜丨 RTE 开发者日报

声网

几分钟,即可在华为云Flexus X服务器部署安全稳定的——水果生鲜商城配送小程序

轶天下事

京东商品详情API接口指南(Python篇)

tbapi

京东API接口 京东商品详情接口

云服务器Flexus X实例评测体验之搭建MySQL数据库

轶天下事

年末福利:距离 KaiwuDB 官方认证,仅差一步之遥!

KaiwuDB

数据库认证

RabbitMQ 可观测性最佳实践

观测云

RabbitMQ

分享一次面试经历

王中阳Go

面试

哈马德国际机场报告2024年创纪录

财见

从零开始使用Univer Clipsheet构建自己的爬虫插件

梦数技术团队

JavaScript GitHub 前端 爬虫工具 Chrome Extension

【小白也能学】从挫败到突破,5天地狱式开发,如何用 AI 和 Arduino 打造属于自己的智能桌宠?——慢慢学AI144

AI决策者洞察

#人工智能 Prompt

将Vue项目部署到Flexus云服务器X实例并实现公网访问

轶天下事

基于 Flink 进行增量批计算的探索与实践

Apache Flink

大数据 flink 批计算

Visual Studio中断NPM套件库服务_.NET_James Chesters_InfoQ精选文章