1
zhangchioulin 2016-03-24 00:07:30 +08:00
我也想知道。。。。。
|
2
Twinkle 2016-03-24 00:08:13 +08:00
|
3
wico77 2016-03-24 00:08:56 +08:00
求前端长期合作
|
4
yangxin0 2016-03-24 00:09:15 +08:00 via iPhone
@zhangchioulin web 呀,用户的接口,这部分就是体力活所以前端需求量大。
|
5
ipconfiger 2016-03-24 00:11:01 +08:00
|
6
ipconfiger 2016-03-24 00:13:54 +08:00
|
8
zhong81243232 2016-03-24 00:15:00 +08:00
我们前端圈真乱。
|
9
wjfz OP |
10
wjfz OP @ipconfiger
PHP 的包管理是加载到本地的,前端这个是每次从 github 加载? |
11
yangqi 2016-03-24 00:20:26 +08:00
@wjfz 一样是加载到项目目录,但是现在部署编译就会出错,而且被撤除的包很有可能被未知的人重新占用上传木马包,这个波及面就很广了
|
13
lightening 2016-03-24 00:24:25 +08:00 via iPhone
@wjfz 部署的时候会去下载所有的包,所以不能部署了吧
|
14
crabRunning 2016-03-24 00:26:35 +08:00 via Android
刚刚介入前端,情不自禁的感叹,这他妈怎么那么多幺蛾子
|
15
YuJianrong 2016-03-24 00:27:01 +08:00
蛮同情后端的,一直都没什么新东西……
|
16
think2011 2016-03-24 00:27:32 +08:00
我们前端圈真乱
|
17
wjfz OP |
18
jybox 2016-03-24 00:34:35 +08:00 3
>前端近几年出了很多搞不懂的东西,逼格一下子高了许多。
作为一个 Node.js 服务器端工程师,表示 NPM 并不仅是前端在使用,比如 left-pad 这个包和浏览器并没有直接关系。 >PHP 的包管理是加载到项目目录运行的,这个是每次从线上加载? PHP 的包难道不是从仓库下载的么?如果作者把包从 packagist (不太理解 packagist 是否允许撤下已发布的包)或 GitHub 上撤下也是一样的。 >民心已失。我猜很快会有一个新的完全开放的平台出来。 我个人认为只是 @azer 太矫情了而已, NPM 对于解决包名纠纷有很明确的规则( https://docs.npmjs.com/misc/disputes ),这是一次很透明的操作。如果对方持有商标,我相信在大部分平台都是可以拿到对应的名字的。 >npm 目前的机制基本无法处理这次危机,超过 250 个项目被移除,其他依赖项目不仅需要寻找替代品,还要防范其他人伪造同名库。 一方面可以修改 unpublish 包的规则(满足特定规则才可以 unpublish 已发布的版本),如果作者的包使用一个自由软件许可证发布的话,从法律上来说,不允许删除也是完全可行的。另一方面可以继续推 Scoped packages ( https://docs.npmjs.com/misc/scope ),像 GitHub 一样以自己的用户名为前缀,虽然用户名可能也有纠纷,但应该会比包名的纠纷少一点。 |
21
zhangchioulin 2016-03-24 03:47:30 +08:00
让我安安静静做一个 iOS 的美男子。。。
@yangxin0 |
24
Slienc7 2016-03-24 07:58:08 +08:00
|
25
zhujinliang 2016-03-24 08:13:06 +08:00 via iPhone
我一直对 node 这帮人搞不懂,一个 leftpad 也有必要做成包?两三行代码的事,你需要这个功能为什么不是写在 util.js 里而是引入个别人的包?
|
26
kn007 2016-03-24 08:16:24 +08:00
@xgowex A couple of hours ago, Azer Koçulu unpublished more than 250 of his modules from NPM
Unfortunately, one of those dependencies was left-pad. Azer Koçulu 是作者吧? |
28
ChefIsAwesome 2016-03-24 08:27:20 +08:00
|
29
66beta 2016-03-24 08:34:13 +08:00
npm 就是包太多了,各种依赖,当然 php 的 composer 也一样
很多功能就应该集成到内核里去 去中心化的包管理器,也有弊端,没有统一的维护啊 |
30
yyfearth 2016-03-24 08:53:27 +08:00
@66beta 任何的包管理器都是这样啊
所以才会有很多人会把各种依赖直接手动包含到项目里面 比如 Java 和 Android 很多人都喜欢直接把 Jar 包包含在项目里面 甚至直接提交的代码库里面 NodeJs 也有不少人会直接把 node_modules 直接包含在代码库里面 |
31
janxin 2016-03-24 08:55:41 +08:00 via iPhone
nodejs 依赖问题终于爆发了吗…
|
33
dtysky 2016-03-24 09:04:01 +08:00
看来我能自己造的轮子就不随便用 lib 还是有道理的。。。不过最麻烦的还是构建工具
|
34
Phariel 2016-03-24 09:04:17 +08:00 via iPhone
讲道理 我认为 npm 就不应该有 unpublish 的机制 这次的事就是个教训 得轮子者岂不是掌控一切?
|
35
rannnn 2016-03-24 09:07:58 +08:00
LOL 昨天公司所有 build 全是红的, notice 乱飞,好不壮观
|
36
abcdabcd987 2016-03-24 09:14:10 +08:00
事件梳理(按时间序):一致力于开源社区的程序员 Azer 的某 npm module 因为和一公司重名,被 npm 强行更换了所有权,于是他愤然从 npm 中撤下了所有自己的 module ,其中包括只有 11 行代码的 left-pad 。于是,把它作为依赖的众多库纷纷编译失败,其中包括 React, Babel 等。有人写了篇文章批评现在程序员都不懂得写程序了吗?在 HN 上引发热议。
https://medium.com/@azerbike/i-ve-just-liberated-my-modules-9045c06be67c#.403drisws https://news.ycombinator.com/item?id=11348798 |
37
est 2016-03-24 09:19:55 +08:00
1. npm 包数量远超 PYPI, CPAN 。原来是通过这种方式。。。
2. theregister 居然都能报道这新闻,国内媒体汗颜啊。 |
38
yyfearth 2016-03-24 09:21:19 +08:00
@Phariel 其实不一定有用
如果不可以 unpublish 作者也可以随时换上一个爆掉的版本 并且标示为版本兼容 比如大家用了 “~1.0.0 ” 然后他出个 1.0.1 兼容 1.0.0 那么默认情况下 结果也是一样的 除非有人手动锁定版本 “ 1.0.0 ” 但是 我记得 npm 允许对已发布的版本做强行修正 比如 发一个爆掉的版本 仍然是 1.0.0 那么你也没办法了 除非像 svn 那样 完全禁止修改历史 |
39
JenJieJu 2016-03-24 09:31:11 +08:00
咱圈真乱。。。。。。
|
40
youxiachai 2016-03-24 09:38:37 +08:00
@zhujinliang 怎么说呢。。 unix 的哲学问题
这次的问题。。不是 left-pad (作者还有其他 200 多个库呢,而且作者也是早期 npm 活跃用户。。),不是说代码少。。这个库就没价值(这个是一个价值观的问题,如果大家都是可信的,我又何必写一个 util 自己维护呢?)。这次的危机算是一个潜在问题的大爆发 怎么说呢。这次的危机到今天才爆发。。可以说明之前大家还是挺自律的。。。 |
41
Pythagodzilla 2016-03-24 09:45:20 +08:00
|
42
sox 2016-03-24 09:46:04 +08:00
|
43
BOYPT 2016-03-24 09:47:52 +08:00
之前来说 NMP 的包管理是发展最快最成功的,以至于其他语言都向其学习,不就是因为 npm 是集中管理;好了现在又在说集中管理的弊端,那你们学学 php 又 perl 又 pecl 又 composer 吧,科科
|
44
crabRunning 2016-03-24 09:51:33 +08:00
昨天好死不死把 node_modules 删了,结果晚上装不上了 23333
|
45
mahone3297 2016-03-24 09:55:24 +08:00
@jybox
>PHP 的包管理是加载到项目目录运行的,这个是每次从线上加载? PHP 的包难道不是从仓库下载的么?如果作者把包从 packagist (不太理解 packagist 是否允许撤下已发布的包)或 GitHub 上撤下也是一样的。 还是没懂,再请教下。。。 php 的包是从仓库下载的,但是下载后,本地会有缓存。所以,我理解成,已经在跑的项目,都是曾经下载过的,所以没有影响。 npm 是怎么个逻辑? |
47
AnyOfYou 2016-03-24 10:15:14 +08:00
奇怪,我 21 小时前发的 http://v2ex.com/t/265720 这个却无人问津...
|
49
rming 2016-03-24 10:29:10 +08:00
贵圈真乱!
|
52
vagary 2016-03-24 11:02:05 +08:00
@zhujinliang
😄,以前瞎聊瞎扯淡的事情终于还是发生了。 233333333 喜闻乐见。 不过我手贱这周刚开始看 react 这些前端流行的玩意。。。明天分享还打算聊聊前端这些。。。这咋整一下跑题了。。。 2333333 |
53
fszaer 2016-03-24 11:09:28 +08:00
@mahone3297
npm 也是啊=。= |
54
fszaer 2016-03-24 11:13:12 +08:00
@mahone3297
你理解的没有错,已经把包下载下来的自然没有问题 就是,大多数源码只保留一个 packages 的清单,当你重新构建,也就是重新吧 packages 落下来的时候会因为包不存在而无法正确构建 |
55
wjfz OP @mahone3297
是的,上面有人回答了,已经再跑的不受影响,除非重新 update @AnyOfYou 一般人都不会对英文标题敏感的,毕竟非母语。 下次记得改个标题弄个大新闻😂 @vagary 前圈好乱😂 (无恶意 上大学这几年火了 node react Vue Gulp 各种轮子,我都跟不上轮子了。 |
56
chaegumi 2016-03-24 11:14:28 +08:00
不知道 php 的 composer 存不存在这类问题,风险挺大的, update 过来的代码是不是 ok 的能保证吗
|
57
xuwenmang 2016-03-24 11:21:12 +08:00 1
nodejs
-> npmjs.COM npm is the package manager for javascript. $ npm install express PHP -> getcomposer.ORG Dependency Manager for PHP -> packagist.ORG The PHP Package Repository $ composer require monolog/monolog 一个世界是包管理 一个世界是依赖管理+包仓库 开发境界就不一样,后者明显对面向对象的理解要强一点。 前端啊,你们还是太年轻太简单。 附注: PHP 是宇宙间最好的语言! |
58
uxstone 2016-03-24 11:22:09 +08:00
说到底就是 NPM 的员工傻逼!!!
|
59
LeoDev 2016-03-24 11:37:14 +08:00
贵圈真乱
|
60
66beta 2016-03-24 11:37:49 +08:00
@yyfearth http://www.haneycodes.net/npm-left-pad-have-we-forgotten-how-to-program/
有了包管理器,大家都变懒了,简单的东西搞复杂 |
61
timothyye 2016-03-24 11:38:02 +08:00
后端前来围观,贵圈真乱……
|
62
iwege 2016-03-24 11:42:49 +08:00
@chaegumi composer 貌似还有一点 namespace 的概念, npm 的 namespace 是私有模块,记得还要收钱的。
|
63
vagary 2016-03-24 11:45:57 +08:00
@crabRunning @wjfz 吓得我立马 tar -zcvf hollyshit.tar.gz node_modules 😂😂😂😂
|
64
zhuziyi 2016-03-24 11:51:53 +08:00
其实就是一群后端转前端的人在带动,前端的一个趋势,至于效果怎么样,是不是本末倒置,真要打个大问号。
|
66
TangMonk 2016-03-24 13:16:56 +08:00
npm 要是有 ruby bundler 那么好用就好了
|
67
rubyvector 2016-03-24 13:17:49 +08:00 1
像 facebook,ali,tencent,baidu 一类大公司,项目多,需求多,人家为了统一维护,节省人力物力,前端搞些框架,合情合理.
一些跟屁公司,非得跟着上,用着一些看似高大上的前端技术,用大炮解决着手枪问题.原生 JS 代码处理的问题,给你来些 MVC,mvvc 呀,七七八八.想想看,一步能完成的事,要给你拆开,各种代码调用,效率低下,还要花时间去学,花精力去完善后期框架造成的各种坑,搞不好,要去看框架源码.哪个框架大升级,还得老代码测试,修正,重写... 小公司很多是让那些高大上公司出来,当构架师的鸟人们坑的.招人难招,还得给高工资 .本来想省时省钱省事,全变成了 GDP 良心投入. |
68
iniwap 2016-03-24 15:13:17 +08:00
cao 这页面怎么搞的
|
70
wd 2016-03-24 15:53:55 +08:00
奇怪,为啥只有进了这页面是黑色的?
|
72
wjfz OP |
73
fyibmsd 2016-03-24 16:43:57 +08:00 1
看到写前端的写单元测试 写 makefile 我就醉了
|
74
Pastsong 2016-03-24 16:47:30 +08:00 via iPhone
都说是 npm 了怎么还前端前端的
|
75
hkongm 2016-03-24 16:58:01 +08:00
题主先搞明白前端,浏览器, npm 的关系~
|