npm全称为Node Packaged Modules。它是一个用于管理基于node.js编写的package的命令行工具。其本身就是基于node.js写的,这有点像gem与ruby的关系。

在我们的项目中,需要使用一些基于node.js的javascript库文件,就需要npm对这些依赖库进行方便的管理。由于我们的开发环境由于安全因素在访问一些网站时需要使用代理,其中就包括npm的repositories网站,所以就需要修改npm的配置来加入代理。

下面简要介绍下npm的配置以及如何设置代理。

npm获取配置有6种方式,优先级由高到底。

  1. 命令行参数。 --proxy http://server:port即将proxy的值设为http://server:port

  2. 环境变量。 以npm_config_为前缀的环境变量将会被认为是npm的配置属性。如设置proxy可以加入这样的环境变量npm_config_proxy=http://server:port

  3. 用户配置文件。可以通过npm config get userconfig查看文件路径。如果是mac系统的话默认路径就是$HOME/.npmrc

  4. 全局配置文件。可以通过npm config get globalconfig查看文件路径。mac系统的默认路径是/usr/local/etc/npmrc

  5. 内置配置文件。安装npm的目录下的npmrc文件。

  6. 默认配置。 npm本身有默认配置参数,如果以上5条都没设置,则npm会使用默认配置参数。

针对npm配置的命令行操作

   npm config set <key> <value> [--global]
npm config get <key>
npm config delete <key>
npm config list
npm config edit
npm get <key>
npm set <key> <value> [--global]

在设置配置属性时属性值默认是被存储于用户配置文件中,如果加上--global,则被存储在全局配置文件中。

如果要查看npm的所有配置属性(包括默认配置),可以使用npm config ls -l

如果要查看npm的各种配置的含义,可以使用npm help config

为npm设置代理

$ npm config set proxy http://server:port
$ npm config set https-proxy http://server:port

如果代理需要认证的话可以这样来设置。

$ npm config set proxy http://username:password@server:port
$ npm config set https-proxy http://username:pawword@server:port

如果代理不支持https的话需要修改npm存放package的网站地址。

$ npm config set registry "http://registry.npmjs.org/"

作者:黄博文@无敌北瓜

最新文章

  1. mac系统及xcode使用的SVN客户端安装升级
  2. javaSE学习路线
  3. nullcon HackIM 2016 -- Crypto Question 4
  4. windows批处理总结
  5. Windows 7 性能优化
  6. JS-Math对象
  7. 《30天自制操作系统》10_day_学习笔记
  8. ERP反馈信息管理(十九)
  9. 车牌识别LPR(七)-- 字符特征
  10. Qt: 界面中使用中文(三种方法,QApplication::translate可指定编码)
  11. [转]Oracle ORA-01403: no data found Exception SYS_REFCURSOR
  12. [转]NHibernate之旅(3):探索查询之NHibernate查询语言(HQL)
  13. [译]TCP和UDP的区别
  14. unix域套接字UDP网络编程
  15. vbs的一些入门基础。。。
  16. POJ [P2631] Roads in the North
  17. 笔记:I/O流-ZIP文档
  18. 使用contenteditable=true的div模拟textarea(vue2.0中使用,带placeholder且高度自动撑开)
  19. bzoj3991 lca+dfs序应用+set综合应用
  20. [转][C#]枚举的遍历Enum

热门文章

  1. 分页用到的子查询sql语句
  2. YII登陆错误 mcrypt_create_iv()
  3. [转]Ext.grid常用属性和方法
  4. RabbitMQ文档翻译——Work queues
  5. 【Unity】制作简易定时器(Timer)
  6. Eclipse下内存溢出错误(OutOfMemoryError)
  7. Drupal 开发必备利器
  8. JavaScript(九):JavaScript中的内置对象
  9. Android 扩大view点击范围
  10. 关于Unity中Time.deltaTime的使用