Facebook 发布了新的 Node 模块管理器 Yarn,或将成为 Nodejs 的 npm 替代品?
Facebook 发布了新的 Node 模块管理器 Yarn,或将成为 Nodejs 的 npm 替代品?
https://code.facebook.com/posts/1840075619545360
可能取代 npm ? 有几个特性:
- 通过 lockfile 锁定了包的版本和 node_modules 文件夹的结构
- 更快的安装
- 兼容 npm 和 bower 的 workflow
- 对已安装包的 licenses 进行约束
- 给 build 工具暴露出更好用的 API
- 更好读、好看的命令行输出
God bless 2016
May the force be with Front-End development…
FB 服务器都被墙了吧, 23333 ……这玩意儿在国内能流行起来?
Bootstrap 还是 twitter 的呢,不照样流行嘛,关键看是不是好用
于是猝不及防地来了一个 cYarn
对 npm 有意见很久了,明天看看
这个必然会火的
快如风,稳如狗。。 npm 💊
是这个么? https://github.com/yarnpkg/yarn
他们的 license 里都去掉 facebook 的名字 看样子是要独立发展啊
remove patents and facebook license headers
https://github.com/yarnpkg/yarn/commit/46e8be5a9b5e692ac9307a79342d0c1e03ffc3da
用的还是 npm 的源只是替换了 cli ,不过光是 lockfile 和全局缓存估计就足以让人抛弃 npm 了吧。
那篇 <在 2016 年学 JavaScript 是一种什么样的体验> 又可以加一段了…
npm 仓库是什么
是一个公开的仓库,用于放置可依赖的模块。不过现在已经是 2016 年了, 没有人用 NPM 了…现在大家都用 Yarn 了.
Yarn 又是什么?
是 Facebook 的 Node 模块管理器
好吧,我知道了,所以我应该用 Yarn 来安装依赖。
对的。我举个例子吧,如果你要使用 React ,你直接用 Yarn 安装 React ,然后在代码里导入 React 就可以了。大部分 JS 库都能这么安装。
…
May the force be with Front-End development…
yarn.中国 域名还没注册,同志们速度了
前端换得太快了吧?????
May the force be with Front-End development…
https://github.com/yarnpkg/yarn/issues/513
这个 issue 没解决,暂时还用不了
某宝 Yam 源赶赴前线中?
try cnpm
<br>Yarn wouldn't exist if it wasn't for excellent prior art. Yarn has been inspired by the following projects:<br><br>Bundler<br>Cargo<br>npm<br>
这 3 个货加上 yarn ,全都和 wycats 大神的痕迹,其实我是想来安利一波 cargo 和 rust 的
参考 https://yarnpkg.com/en/docs/yarn-lock
就是说会生成个 yarn.lock 文件,这个文件应该放入版本管理中。它比 package.json 更具体,指定了版本号、包的 hash 等等,可以确保在别的地方安装时仍然下到同样的包,而不是别的版本。
可消停点吧,天呐。
为什么我下载了一个 yarn-0.15.0.msi win10 不让我装啊?说是未识别的应用。
我记得有更多信息,点一下然后就可以仍然安装,大概 msi 没签名? yarn 也可以通过 npm install --global 的方式安装,可以看 others 篇
说错不是 others 篇,是 Alternatives 篇
Yet Another Reliable NPM
拜一下 wycats 大神
怎么和 Hadoop YARN 重名呢
May the force be with Front-End development…
不知道有没有解决 npm 的重复依赖问题, npm 项目的安装包太碎片化了,一个项目需要依赖几百个包,还有大量的重复包,非常浪费空间
解决了一部分, yarn 出来的 node_modules 里不嵌套了
手速真快,期待
https://github.com/cyarnpkg/cyarn 为什么是自己重新 push 而不是 fork 过来的项目?
你忘了加上一段:
那我要怎么装 yarn 呢?
$> npm install -g yarn
本来是 fork 的,后来发现无法添加到个人主页上的 pinned repos 里面,就删除了改成了重新 push
官方给出的安装方法好像不是 npm install -g yarn
https://yarnpkg.com/en/docs/install
npm install -g yarnpkg
在 Altermatives 标签里
确实,我看漏了,多谢
https://yarnpkg.com/en/docs/install 在 Altermatives 标签里, npm install -g yarn
GitHub 的逻辑是除非你的发起 PR 合并回主干了,不然 fork 项目不能算成自己的贡献。或者如果你有充分的理由说明这个项目是独立项目,不需要合并回主干,那也可以联系 GitHub 官方支持让他们来做 detach 操作。
几乎什么都不改就把 fork 项目放到自己的个人主页宣传感觉不是很好的风气……
改短了呗, yarnpkg 上午就被 deprecated 啦
原来如此,等我先研究一下,看改动需不需要合并到主干。如果不需要合并的话,我会在醒目位置注明源仓库的,比如: https://github.com/xcatliu/jekyllcn
npm 有个大问题, 一个项目,有 N 个包,文件数量有几十万个,吓死人
没用 npm3?
注册了个 yarnjs.com 感觉学费米
不 fork 的我个人觉得真的不好
may god bless the front-end developer.
不是,他们最近刚刚改了会自动把你当前 OS 相关的 installation guide 放到最前面。 https://github.com/yarnpkg/website/commit/93d7df56fcc28bc3914eec1a79902d19e9b312db
在那之前你进去最先看到的其实是用 npm 安装的 guide 。
坐等 cyarn , npm 重复依赖的问题确实严重 ,每次 copy node_modules 目录 ,机器风扇就开始狂转
多谢提醒,本来是 fork 的,但是无法放到个人主页里面。我不希望将来有人贡献之后想放到他的个人主页里面也放不进去,所以重新 push 了一遍。
另外,它的开源协议是 BSD-2-Clause ,我认为这样子重新发布完全没有问题。况且我会标注源仓库的。
引用:
BSD 开源协议是一个给于使用者很大自由的协议。
基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。
但”为所欲为”的前提当你发布使用了 BSD 协议的代码,或者以 BSD 协议代码为基础做二次开发自己的产品时,需要满足三个条件:
1 、如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的 BSD 协议。
2 、如果再发布的只是二进制类库 /软件,则需要在类库 /软件的文档和版权声明中包含原来代码中的 BSD 协议。
3 、不可以用开源代码的作者 /机构名字和原来产品的名字做市场推广。
BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。
BSD 由于允许使用者修改和重新发布代码,也允许使用或在 BSD 代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。
而很多的公司企业在选用开源产品的时候都首选 BSD 协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。
我改成了 Forked 的了,移动到了我的 account 下,这样的话应该贡献者都可以放到个人主页里面的 pinned repos 了。感谢你们的建议。
另外已发布 CYarn : https://www.v2ex.com/t/312455
已发布 CYarn : https://www.v2ex.com/t/312455