Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 分散的NPM?回复:Ryan Dahl';s Talk@JSConf EU 2018_Javascript_Node.js_Npm_Package.json_Package Managers - Fatal编程技术网

Javascript 分散的NPM?回复:Ryan Dahl';s Talk@JSConf EU 2018

Javascript 分散的NPM?回复:Ryan Dahl';s Talk@JSConf EU 2018,javascript,node.js,npm,package.json,package-managers,Javascript,Node.js,Npm,Package.json,Package Managers,我最近看了Ryan的Dahl去年的“关于Node.js我后悔的十件事”演讲(如果你还没有看过的话)。9点52分左右,Ryan的幻灯片上说 不幸的是,有一个集中的(甚至是私人控制的)模块存储库 当然说到NPM。他似乎要更深入地探讨这个问题,但不幸的是,另一个庞大的集中式存储系统iCloud发出的通知几乎恰如其分地打断了他的讨论。这可能会打破他的思维链,因为他将继续下一张幻灯片 在过去一周左右的时间里,我一直在苦苦思索一个分散的包管理器的想法,不知道它将如何运作。由于NPM是基本上所有可用模块的集中

我最近看了Ryan的Dahl去年的“关于Node.js我后悔的十件事”演讲(如果你还没有看过的话)。9点52分左右,Ryan的幻灯片上说

不幸的是,有一个集中的(甚至是私人控制的)模块存储库

当然说到NPM。他似乎要更深入地探讨这个问题,但不幸的是,另一个庞大的集中式存储系统iCloud发出的通知几乎恰如其分地打断了他的讨论。这可能会打破他的思维链,因为他将继续下一张幻灯片

在过去一周左右的时间里,我一直在苦苦思索一个分散的包管理器的想法,不知道它将如何运作。由于NPM是基本上所有可用模块的集中索引,因此很容易找到正确的选择。其他包管理者、社区、语言开发人员或技术是否使用了更分布式的方法?它们是如何运作的?找到合适的模块是否更难?甚至包管理器被分散的好处是什么,NPM是否可以采用类似的方法


我是一名初级JavaScript开发人员,最近找到了我的第一份工作。Node是我唯一非常熟悉的环境,NPM是我唯一专业使用的包管理器。在过去的一周里阅读维基百科并没有产生令人满意的结果,所以我很想听到任何和所有的智慧。谢谢大家!

无论如何,您可以使用NPM(包管理器)而不使用NPM(服务)。NPM可以从其他位置安装软件包,比如Git存储库或本地目录。还有其他选择,比如纱线。@Brad我肯定不知道Git存储库,这实际上打开了一些很酷的可能性。目前我确实更喜欢纱线,但你提出了一个区分服务和包管理器的好观点。这里有许多可能来自联邦服务(许多不同的npmjs.com,尽管它们彼此通信),或者沿着区块链的路线的真正P2P架构,或者介于两者之间的东西,比如BitTorrent。每种解决方案都有各自的优缺点,分布式解决方案趋向于性能较差的恢复能力,集中式解决方案趋向于单点故障问题的速度。想想web浏览器,您可以从任何地方加载资源,而不仅仅是从每个web应用程序的某个单一存储库加载资源。这是否意味着更难找到好的库来使用?jQuery(和许多其他库)在NPM之前就已经存在了,而且它非常流行,我想这对您来说已经足够证明了。