NPM 3 Beta为Windows用户带来利好消息
本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2015/06/angular-2-react-native-roadmap
近日,npm 3.0 Beta版公布了,该版本号差点儿全然重写了安装器,为在Windows上使用Node.js的用户带来了利好消息。
Rebecca Turner在公布声明中说到,npm团队“非常高兴且自豪地”公布了3.0 Beta版,而且“希望能与npm用户社区合作以便尽快公布生产版本号”。
Turner是CLI程序猿,负责差点儿全部的变更,她说此次更新花费了大约8个月的时间。
npm最重要的变更之中的一个就是依赖的更新。借助于水平依赖能够解决太多依赖导致Windows文件系统崩溃的问题,由于过深的路径会造成Explorer和其它标准工具无法处理的难题。
Turner说到:
如今,依赖将会尽可能依照水平方式进行安装,全部依赖,以及依赖的依赖都会安装到项目的node_modules文件夹中,而且不再嵌套。
假设两个或多个模块的依赖存在冲突。那么模块之间才会出现嵌套的情况。
此次更新还意味着安装“从一開始”就是去重的,Git deps是去重的,甚至命令也是“去重”的。
Turner向InfoQ表示,作为一个用户,她觉得最激动人心之处就是自己主动去重的deps,这会“极大降低安装包的大小”。
其它命令的行为也会受到依赖更新的影响。在此次更新中,当使用npm uninstall命令进行模块卸载时。系统会删除该模块中不被其它模块须要的全部依赖,而过去则是删除安装在该模块下的依赖。
值得注意的是。npm自身的依赖也是“水平、去重。且打包的”,因此npm 3.0无法由npm 2.0公布或打包。
安装器的其它一些变化还有改进了npm对于包的运行步骤。在之前的版本号中,安装器在决定处理包时会立马运行各项步骤。在3.0中,安装器会同一时候对全部包运行各项步骤。在继续之前会等待每个阶段的完毕。对于开发人员来说,这么做能够消除非常多竞态条件:让代码的编写变得更加轻松。
从实际使用的角度来看,Turner说此次更新意味着诸如生命周期脚本等将会变得更加可预測且出错的可能性更低。同一时候也能更加轻松地实现诸如新的--dry-run标志等特性。Turner说这会让开发人员在运行之前就能看到将要发生的事情。同一时候详尽的日志会展示出安装器在进行改变前后的完整树形结构。
总而言之,Turner希望npm 3.0 Beta版能够降低Bug的出现,而且为开发人员提供一个更加稳定的平台。
不出所料的是,npm 3.0 Beta版将会持续一段时间,直到团队“觉得它已足够稳定,而且评估过它对社区造成的影响”之后才会公布正式版。
Turner还指出,由于此次差点儿是全然重写,因此还会存在一些Bug,该Beta版仅仅能用于“每天使用的非关键的CI环境”。不能用于“产品维护或是持续部署”。
对于想要为npm贡献力量的InfoQ读者来说。方式有非常多:常规的pull requests、Bug报告、文档与代码变更的特性请求等,这些都是npm所欢迎的。能够在其问题追踪器上进行。除了直接的贡献之外。npm团队也非常欢迎大家编写教程与文章。形式诸如“怎样解决某个问题以及使用了哪些模块”,优秀的内容会被npm Weekly所引用。
NPM 3 Beta为Windows用户带来利好消息的更多相关文章
- SaaS模式给用户带来的优势
这两年SaaS服务在中国越来越受欢迎,企业正在从使用本地化软件向SaaS服务转变.由于企业用户人力成本的上升.移动终端设备的兴起以及共享经济对企业的影响,企业采用经营设备.软件的方式也在逐渐发生着变化 ...
- 在Asp.net MVC中使用Authorization Manager (AzMan)进行Windows用户身份认证
背景 创建需要通过Windows用户进行身份认证的Asp.net MVC应用 要点 在Asp.net MVC应用基于Windows用户进行身份认证的方法有很多,如MVC自带的Windows认证就经常被 ...
- an'gularjs 环境搭建之NodeJS、NPM安装配置步骤(windows版本)
NodeJS.NPM安装配置步骤(windows版本) :http://xiaoyaojones.blog.163.com/blog/static/28370125201351501113581/ ...
- 命令行添加用户的“作为服务登录”权利(添加Windows用户的时候,门道不是一般的多)good
1.打开控制台(“开始”|“运行”中输入:MMC) 2.“文件”菜单|“添加删除管理单元”|“添加...”|选“安全模板”|“关闭”. 3.在“C:\Windows\Security\template ...
- Windows用户模式下注入方式总结
注入技术在病毒木马.游戏.打补丁等编程中应用很广泛,学习该技术不仅能帮助理解Windows工作原理,还能对病毒木马技术手段有更加深刻的理解,下面我们了解下各种注入方式吧. 一.DLL注入 在注入技术中 ...
- py下windows用户安装lxml
windows用户在安装lxml可能会因为缺少C语言库报错可以选择到Unofficial Windows Binaries for Python Extension Packages下载whl文件 例 ...
- [No0000197]Windows用户都应该知道的运行命令
通过"运行"命令,运行Windows丰富工具的方法.如果您知道工具或任务的相应"运行"命令,那么您就知道访问所述工具或任务的最快方法. 以下是我们最喜欢的Run ...
- 【SVN】如果windows用户忘记了svn的用户名和密码怎么办?
如果windows用户忘记了svn的用户名和密码怎么办? 1>你得进入默认地址 C:\Users\Administrator\AppData\Roaming\Subversion\auth\sv ...
- zabbix监控windows用户登陆情况
https://yq.aliyun.com/articles/511381 添加登录失败监控项: 特别注意:把类型设置为:文本格式,否则会报类型错误. eventlog[Security,," ...
随机推荐
- 【转】MySQL存储引擎中的MyISAM和InnoDB区别详解
转自:http://www.jb51.net/article/62457.htm MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Ac ...
- SQL基本操作——创建索引
CREATE INDEX 语句用于在表中创建索引.在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据. 索引:您可以在表中创建索引,以便更加快速高效地查询数据.用户无法看到索引,它们只能被 ...
- C# 把时间 月 //把第一个0替换为空
string str = "2019-01"; //name: "2019-01月" str = str.Substring(str.Length - , ); ...
- day2笔记
今日内容: 1.常用数据类型即数据方法 2.文件处理 3.函数 一 列表: 在[]内,可以存放多个任意类型的值,并以逗号隔开. 一般用于存放学生的爱好,课堂的周期等等 优先掌握的操作: 1.按索引取值 ...
- iptables详解(2):iptables实际操作之规则查询
所属分类:IPtables Linux基础 在阅读这篇文章之前,请确保你已经阅读了如下文章,如下文章总结了iptables的相关概念,是阅读这篇文章的基础. 图文并茂理解iptables 如果你是一 ...
- javascript中 (function(){})();如何理解?
javascript中 (function(){})();如何理解? javascript中: (function(){})()是匿名函数,主要利用函数内的变量作用域,避免产生全局变量,影响整体页面环 ...
- 20190625 Oracle优化查询(一)
与其惴惴不安,不如定心应变 前提:我的Oracle服务器是安装在Windows环境中的,没有上到Linux 查看表结构 查询全表 查找空值, 使用“=”是没有结果的,应该使用IS NULL
- 多目标跟踪笔记三:Global Data Association for Multi-Object Tracking Using Network Flows
Abstract 针对用于多目标跟踪的数据关联(data association),本文提出了一种基于网络流(network flow)的优化方法.将最大后验概率(maximum-a-posterio ...
- python round()模块
Python3的round()函数四舍五入取整时,采用最近偶数原则 >>> round(1.5)2>>> round(2.5)2>>> round ...
- 内核调试-ftrace introduction
ftrace https://www.ibm.com/developerworks/cn/linux/l-cn-ftrace1/ https://www.ibm.com/developerworks/ ...