`
spartan1
  • 浏览: 361056 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

在公司防火墙后如何使用npm?

 
阅读更多

node.js的包管理软件npm非常好用,命令简洁明了,在家里部署express时非常方便。但在公司安装时遇到了麻烦。npm install默认在指定的目录或文件中找不到要安装的包时,就会去https://registry.npmjs.org/查找并下载相应的包。npm config可以配置proxy和https-proxy,不过如果proxy需要用户名密码,npm就搞不出来了。在linux下配好proxy,用curl也能获取到包(不过需要用curl -k,否则还是说要验证,不知怎么搞定),但是用npm install时就是下载不下来。

 

所以只能先手工将express以及它的依赖包(connect、mime、qs等)下载下来,然后按照依赖顺序进行安装。问题又来了,如果要安装到global(如npm install -g express),即使先把依赖包安装到global了,npm仍然要连接registry下载依赖包,放到express自己的node_modules目录下。而如果安装到本地(npm install express),则只要当前环境下有依赖包就ok了,npm不再去registry下载。下午搞了一下午,最后还是跑到npm root -g目录下直接使用npm install express搞定的。

 

注意一点,如果当前目录下express以来的包不满足版本要求,express仍然会连到registry下载自己的包,所以安装依赖包时必须保证版本兼容,否则就白安了,我就是一来是下载connect等依赖包时都下载最新的,结果每次express仍然要去registry取包,最后才发现是依赖包版本不兼容的缘故。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics