golang 和 Node.js 身为当今语言两大新贵,在使用这两者的时候常常会互相对比一下。 对语法上来讲,个人还是最喜欢 golang 的简单和创新。而 Node.js 最让我满意的则是 npm 。 但是在此主要说说两者包管理对依赖处理的解决方案差异。

go get
import "github.com/username/projectname"
go get

比如当我们今天需要依赖项目 pA 所以在源码里面写上

import "code.google.com/uA/pA"
code.google.comgithub.comimport
github.com/uA/pAgithub.com/uB/pA
import "github.com/uA/pA/sub1/"go buildgithub.com/uA/pA/sub1C/C++#include "xxx"#include "/home/yanyiwu/code/xxx"
npm publishnpmjs.orgnpm installnpmjs.orgnpmjs.org
npm --registry=http://r.cnpmjs.org install koa

具体用法可以参考 faster-npm。

Node.jspackage.json
"dependencies": {
    "accepts": "^1.1.0",
    "co": "^3.1.0",
     …
},
acceptsvar acceps = require(‘accepts’);acceptsgithub.comgitcafe.compackage.json

其实现在国内的技术论坛有个风气不太好,就是当发表一些不同语言的分析对比时,总是会不可避免引起各种语言粉的敌意。 就比说我说 golang 的包管理解决方案确实不如 Node 的 npm 。就会 golang 粉们觉得我是专门来挑刺踢馆的。 其实我也是 golang 粉,所以真心对于这种敌意很无语。


有疑问加站长微信联系(非本文作者)