本文来源于我在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 Brings Good News for Windows Users

NPM 3 Beta为Windows用户带来利好消息的更多相关文章

  1. SaaS模式给用户带来的优势

    这两年SaaS服务在中国越来越受欢迎,企业正在从使用本地化软件向SaaS服务转变.由于企业用户人力成本的上升.移动终端设备的兴起以及共享经济对企业的影响,企业采用经营设备.软件的方式也在逐渐发生着变化 ...

  2. 在Asp.net MVC中使用Authorization Manager (AzMan)进行Windows用户身份认证

    背景 创建需要通过Windows用户进行身份认证的Asp.net MVC应用 要点 在Asp.net MVC应用基于Windows用户进行身份认证的方法有很多,如MVC自带的Windows认证就经常被 ...

  3. an'gularjs 环境搭建之NodeJS、NPM安装配置步骤(windows版本)

    NodeJS.NPM安装配置步骤(windows版本)  :http://xiaoyaojones.blog.163.com/blog/static/28370125201351501113581/ ...

  4. 命令行添加用户的“作为服务登录”权利(添加Windows用户的时候,门道不是一般的多)good

    1.打开控制台(“开始”|“运行”中输入:MMC) 2.“文件”菜单|“添加删除管理单元”|“添加...”|选“安全模板”|“关闭”. 3.在“C:\Windows\Security\template ...

  5. Windows用户模式下注入方式总结

    注入技术在病毒木马.游戏.打补丁等编程中应用很广泛,学习该技术不仅能帮助理解Windows工作原理,还能对病毒木马技术手段有更加深刻的理解,下面我们了解下各种注入方式吧. 一.DLL注入 在注入技术中 ...

  6. py下windows用户安装lxml

    windows用户在安装lxml可能会因为缺少C语言库报错可以选择到Unofficial Windows Binaries for Python Extension Packages下载whl文件 例 ...

  7. [No0000197]Windows用户都应该知道的运行命令

    通过"运行"命令,运行Windows丰富工具的方法.如果您知道工具或任务的相应"运行"命令,那么您就知道访问所述工具或任务的最快方法. 以下是我们最喜欢的Run ...

  8. 【SVN】如果windows用户忘记了svn的用户名和密码怎么办?

    如果windows用户忘记了svn的用户名和密码怎么办? 1>你得进入默认地址 C:\Users\Administrator\AppData\Roaming\Subversion\auth\sv ...

  9. zabbix监控windows用户登陆情况

    https://yq.aliyun.com/articles/511381 添加登录失败监控项: 特别注意:把类型设置为:文本格式,否则会报类型错误. eventlog[Security,," ...

随机推荐

  1. Java学习-异常2

    1.异常处理的第一种方式是:上抛[throws] 2.异常处理的第二种方式是:try....catch..如果不想让调用程序知道该异常发生了,被调用的程序应该使用try...catch..进行异常捕捉 ...

  2. BZOJ 1129 exgcd+CRT+线段树

    思路: 先copy一下百度百科 作为预备知识吧多重全排列定义:求r1个1,r2个2,…,rt个t的排列数,设r1+r2+…+rt=n,设此排列数称为多重全排列,表示为$P(n;r1,r2,…,rt)$ ...

  3. ResGen.exe”已退出,代码为2 问题处理

    转载自  http://blog.sina.com.cn/s/blog_5f82a1060101d8tm.html 在64位的Windows 7下,用VS2010编译4.0以前的.Net项目会有问题. ...

  4. MVC系列学习(五)-传递数据 与 接收数据

    1.控制器向视图传递数据 a.使用ViewData b.使用ViewBag c.使用Model 方式二: d.使用TempData 2.为什么在控制器中设置了一些属性,在视图中可以接受 3.Actio ...

  5. sql server 无法创建数据库,错误代码:1807

    SQL Server 不能创建数据库,发生错误:1807 :未能获得数据库 'model' 上的排它锁.请稍后重试操作. declare   @sql   varchar(100)     while ...

  6. Jquery 多行拖拽图片排序 jq优化

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. HashMap , TreeMap , TreeMap 默认排序

    Java代码  import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; import java. ...

  8. [Windows Server 2012] PHPWind安全设置

    ★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com★[护卫神·V课堂]是护卫神旗下专业提供服务器教学视频的网站,每周更新视频. ★ 本节我们将带领大家:PHPWin ...

  9. WPF中的两个绑定场景

    1. 如何在诸如ListBox这样的项中绑定父类数据上下文. <ListBox Grid.Row=" ItemsSource="{Binding Entries}" ...

  10. ( 转)Hibernate常用API

    http://blog.csdn.net/yerenyuan_pku/article/details/65103203 可在度娘上摘抄如下文字: Hibernate的核心类和接口一共有6个,分别为:S ...