Npm更新移除包的规则
处理完JavaScript历史上戏剧性的事件之后,npm公布了一版新的规则,用于应对用户试图下架包的情况。
\\
新的规则增加如下声明:
\\
- 版本更新少于24小时的包允许下架; \\
- 超过24小时的包的下架需要联系npm维护者; \\
- 如果有npm维护者参与,npm将检查是否有其他包依赖该包,如果有则不允下架; \\
- 如果某个包的所有版本都被移除,npm会上传一个空的占位包,以防后来的使用者不小心引用怀有恶意的替代者。\
在新规则的详述文档中,npm提供了不同场景下的几个例子说明新规则如何运作。
\\
回顾最近的left-pad包下架事件,新规则将能阻止作者Azer Koculu下架他公布的包,因为这些包的版本超过24小时且有很多依赖。
\\
npm认可有下架包的权利的重要性,但是对于个体来说,对整个社区负责更加重要:
\\
\
这个特性非常重要和合法,因此我们不会移除它,不过我们现在显著改变了下架包的方法和下架包的规则。这个规则是平衡开发者个人权利和维护开源社区的团结的第一步。
\
\\
社区的反应各不相同,不过reddit上的评论列表记录了新规则对开源社区的的意义。
\\
查看英文原文:Npm Updates Policy on Removing Packages
\\
感谢张龙对本文的审校。
\
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号:InfoQChina)关注我们。
Npm更新移除包的规则相关推荐
- 如何使用npm更新项目依赖包
NPM(Node Package Manager,结点包管理)是一款用于管理 Node.js 依赖包的工具.通过 NPM,开发者可以快速地安装.卸载.更新等项目所需的依赖包,从而有效提高开发效率.节省 ...
- 使用npm更新所有依赖包到最新版本
本篇文章参考文章 - npm包之npm-check-updates 文章目录 npm-check-updates 背景交代 npm-check-updates 一键升级所有依赖的插件为 npm-c ...
- npm更新包(全局单个,项目单个,全局所有,项目生产环境,项目开发环境)
npm-check检查npm依赖包是否有更新,错误以及不在使用的. 安装npm-check npm install -g npm-check npm全局更新包 npm-check -u -g npm更 ...
- NPM:nodejs官方包管理工具的简介、安装、使用方法之详细攻略
NPM:nodejs官方包管理工具的简介.安装.使用方法之详细攻略 目录 NPM之nodejs官方包管理工具的简介 NPM之nodejs官方包管理工具的安装 NPM之nodejs官方包管理工具的使用方 ...
- npm 更新 npm_您可以使用8 npm技巧来打动同事
npm 更新 npm by Adir Amsalem 由Adir Amsalem 您可以使用8 npm技巧来打动同事 (8 npm Tricks You Can Use to Impress Your ...
- npm 更新 npm_这些NPM技巧将使您成为专业人士
npm 更新 npm By Carl-Johan Kihl 卡尔·约翰·基尔(Carl-Johan Kihl) After using NPM for almost 8 years, I've lea ...
- IntelliJ IDEA 中的Java Web项目的资源文件复制新增如何更新到部署包中?
文章目录 resources目录下的文件复制新增 webapp目录的文件复制新增 IntelliJ IDEA 中的Java Web项目的资源文件如果复制新增,正常的重新部署.重启服务器.update ...
- Java包命名规则_包命名规范
文章目录 个人项目的包命名规则 团队项目的包命名规则 包前缀说明 包名通常是一个单词,且单词通常是名词,字母全部小写,如果多个单词使用下划线连接. 个人项目的包命名规则 individual(个体): ...
- anaconda安装python包_Anaconda:安装或更新 Python 第三方包
conda和pip简介 conda conda是包及其依赖项和环境的管理工具. 适用语言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, F ...
- J2EE开发时的包命名规则
http://www.blogjava.net/paulwong/archive/2012/04/15/374675.html 转一个J2EE开发时的包命名规则,养成良好的开发习惯 代码编写规范目的: ...
最新文章
- iphone如何信任软件_你还在用大众点评吗?评价软件失去信任还如何活下去
- CPLEX在Linux上的安装与配置
- POJ 3356 水LCS
- Session 的钝化与活化
- c盘users的用户名怎么改_怎么修改iPhone备份文件夹路径 iPhone C盘路径修改教程【详解】...
- 外部js php变量,在外部JS文件中包含PHP变量?
- python编程设计_程序设计入门—Python
- 计算机应用基础 东师 离线,东师1609计算机应用基础离线作业(8页)-原创力文档...
- mysql 5.1.48-log_mysql5.1+syslog8.3+loganalyzer配置过程
- 【rmzt】小清新美女win7主题_7.14
- python编辑器怎么放大字体_增大python字体的方法步骤
- 企业微信邮箱登录入口在哪里?
- 小猫爪:i.MX RT1050学习笔记24-eDMA之eDMASAIASRC的“纠缠”(RT1170)
- 大数据概览以及当下实用的主流开发
- ubuntu命令行启动浏览器_如何从终端启动默认Web浏览器?
- c语言输出字符串需要取地址吗,char *str;……printf(%p,str);是输出地址吗?还是只与str说占空间大 - C语言论坛 - 编程论坛...
- 微型计算机日常的应用领域,计算机的应用领域有哪些?
- Mac系统升级后导致AS不能使用SVN
- linux mysql 邮件_linux中mysql 自动备份发邮件 到指定邮箱代码
- IC REG BUCK ADJUSTABLE 3A 8SOIC
热门文章
- 敏捷测试与普通测试的区别
- 用SQL批量插入数据(原创)
- 远程连接(加密验证问题解决)
- Codeforces 853A 贪心 优先队列
- 洛谷 P1509 找啊找啊找GF(复习二维费用背包)
- server.MapPath的相对路径问题
- 应用程序按照以下顺序执行由 global.asax 文件中定义的模块或用户代码处理的事件...
- Eclipse注释快捷键、如何生成API以及可能遇到的问题解决
- 使用 Kubeadm 安装部署 Kubernetes 1.12.1 集群
- python,错误、调试和测试