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 Brings Good News for Windows Users

时间: 2024-10-13 19:28:11

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

微软称将为Linux用户带来“令人振奋的消息

微软对 Linux 的看法在过去几年完全改变,并与开源世界一起快节奏增长.因为微软没有其他选择,只能适应并寻求方法来接近这个不断扩大的社区.10 年之前,外界很难相信微软有这种态度,现在微软正准备为 Linux 用户带来福利,特别是 Linux 上的 Skype 用户. 微软今天在 Skype 社区论坛当中表示,微软将宣布让 Linux 用户兴奋的消息.但是没有给出具体细节.目前我们知道的是,微软将于 7 月 13 日在社区问答环节发布细节. 由于这是通过微软 Skype 社区进行发布,不难猜测

Chrome 37 Beta: 使用Windows的DirectWrite和支持<dialog>元素

今天的Chrome Beta 发布版包含了许多新的开发者特性.这些特性帮助你制作更丰富的.更迅速的和更引人入胜的网页内容以及应用程序,尤其是移动设备上.除非特别指出,否则下面描述的变化对Android, Windows, Mac, Linux, and Chrome OS的Chrome均有效. 使用Windows的DirectWrite Chrome 37增加了对于DirectWrite的支持.这是Windows用于干净.高质量的文本渲染API,即使是高DPI显示器.在DirectWrite之前

微软说,将“为 Linux 用户带来令人兴奋的新闻”

关于Linux的学习,请参考书籍<Linux就该这么学> 微软这些年对 Linux 的观感已经完全改变了,随着开源世界增长的越来越快,雷蒙德(微软总部所在地)除了适应并寻求接近这个日益增长的社区,已经别无选择了. 微软发布了几个在十年前根本没有人会相信的新产品之后,比如 Bash on Windows 10,微软还准备给 Linux 带来更多东西,这次应该是特别针对 Skype 用户的. 一个新的 Skype 的 Linux 客户端?由于这是通过微软 Skype 社区进行发布的,不难猜测,微软

Windows用户安全小技巧

本文适用于具有管理员用户和标准用户的所有Windows系统,如Windows 2000以上的操作系统,UAC是Windows Vista以上版本的具有功能. 新安装的Windows系统或者新购买的含有Windows系统计算机一开始都需要安装许多软件并需要设置较多的含有Windows安全或用户控制设置的功能或操作.此时如果利用管理员账户做这些事情是非常方便的.Windows不像Linux一样,在Windows系统中,每一个涉及含有Windows安全或用户控制设置的功能或操作都需要获得管理员授权,即

谷歌将为 Mac 和 Windows 用户推出新的备份和同步应用

据报道,谷歌将于 6 月 28 日面向 Mac 和 Windows 用户发布一款新的备份和同步应用(Backup and Sync app). Google 刚刚宣布将推出其备份和同步应用程序,该工具旨在帮助用户将文件和照片从计算机备份到 Google Drive.备份和同步是 Google Drive app 的一次更新,但现在还集成了 Google Photos 的桌面上传器. 谷歌表示: “备份和同步主要面向消费者用户.我们建议 G Suite 用户继续使用 Drive for Mac/P

Windows用户密码基础知识

1.Hash基本知识 在了解Windows用户密码之前,我们先认识一下Hash. Hash,我们称之为单向散列函数(也直接音译为哈希函数).它是把任意长度的输入,通过散列算法,变换成固定长度的输出的一个函数. 它具有以下几个特点: (1).算法本身是不可逆的,即可以由输入得到散列值,但是不可能从散列值中得到输入值. (2).不同的算法会得到不同长度的散列值,但使用同一个算法,无论输入的数据有多长,得到的散列值长度总是固定的. (3).不同的输入必然产生不同的散列值,两条相似的数据产生的散列值可能

windows用户和组及其权限的设置

DAY03 Windows 实验一 实验名称:将用户加入内置组 实验描述:新建一个用户将该用户加入系统的内置组中 实验拓扑: 实验步骤: 步骤一:新建一个用户tom-右击属性-隶属于选项卡点击添加-高级-立即查找- 选中Network Configuration Operators确定-确定 步骤二:选中tom用户右击-隶属于-发现已经加入Network Configuration Operators内置组中-切换用户让tom登录-修改IP地址成功 总结:遇到的问题重点就是知道哪些是内置用户组

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

1.打开控制台(“开始”|“运行”中输入:MMC) 2.“文件”菜单|“添加删除管理单元”|“添加...”|选“安全模板”|“关闭”. 3.在“C:\Windows\Security\templates”节点上,右键“新建模板...”,在弹出的对话框中“模板名”中输入:new,确定. 4.打开“New|本地策略|用户权利指派”节点,在右侧的“作为服务器登录”中添加要赋予该权限的用户. 5.然后,在“New”节点上单击右键,选“另存为...”保存到“C:\Sec.inf”. 6.建立批处理文档中输

windows用户账户类型

windows用户账户分为两种 本地用户账户:俗话说就是在工作组模型下创建的用户.(工作组模型是windows默认的网络模式) 1.使用"本地用户和组"创建 2.存储在SAM数据库中(C:\Windows\System32\config下的SAM文件) 3.登录时进行本地身份验证:如果想要登录到公司其它计算机内,就要在每台计算机上新建相       同的用户名和密码,这就会增加工作量. 域用户账户:俗话说就是在域模型下创建的用户. 1.使用"AD用户和计算机"创建