背景

npm 命令运行时,往往通过命令行指定相关配置,最常用的便是使用 --registry 来指定依赖的安装源。

npm install --registry=https://registry.npmmirror.com

同样的效果也可以使用 .npmrc 来实现:

registry=https://registry.npmmirror.com

.npmrc 用法介绍

.npmrc(NPM Running Configuration)可以指定 npm 命令运行时的配置内容,其中可以设置的配置见官方文档:config

配置优先级按顺序如下:

  1. 项目内的配置文件(/path/to/my/project/.npmrc
  2. 用户配置文件(~/.npmrc
  3. 全局配置文件($PREFIX/etc/npmrc
  4. NPM 内置配置文件(/path/to/npm/npmrc

.npmrc 文件内以键值对的形式(key=value)设置值:

key=value

数组:

key[]=value
key[]=value

使用 #; 来注释:

# Comment1
; Comment2
key=value

指定安装源

由于项目下的 .npmrc 优先级最高,并且配置文件只对此项目有效,不会影响其他项目。可以在项目根目录下面新建一个 .npmrc 文件指定安装源。

修改默认 registry

registry=https://registry.npmmirror.com

@scope 的依赖包从 https://scope.example.com 安装,其他从 https://registry.npmmirror.com

registry=https://registry.npmmirror.com
@scope:registry=https://scope.example.com

设置 SASS 镜像源,效果与 SASS_BINARY_SITE=https://registry.npmmirror.com/-/binary/node-sass npm install node-sass 相同:

sass_binary_site=https://registry.npmmirror.com/-/binary/node-sass

案例代码:https://github.com/mazeyqian/mazey/blob/master/.npmrc

NPM 配置快捷命令

获取当前配置指定值:

npm config get sass_binary_site
# https://registry.npmmirror.com/-/binary/node-sass npm config get registry
# https://registry.npmmirror.com

设置配置指定值:

npm config set example_key_1 example_value_1
npm config get example_key_1
# example_value_1

显示配置列表:

npm config list

; userconfig
example_key_1 = "example_value_1"
registry = "https://registry.npmjs.org/"

注意

如果想发布 NPM,一定要注意修改 registry 至你想发布的地址,切勿将公司私有包发布到官方库中。

If you then want to publish a package for the whole world to see, you can simply override the --registry option for that publish command.

参考

  1. 淘宝 npm 域名即将切换 && npmmirror 重构升级
  2. Can I run my own private registry?
  3. 解决 NPM 安装 node-sass 因为网络问题超时失败的问题

版权声明

本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者后除和本文原始地址:https://blog.mazey.net/2950.html

(完)

Node 项目通过 .npmrc 文件指定依赖安装源的更多相关文章

  1. python指定pip安装源

    python的pip默认的安装源的位置是国外的,导致有时候下载很慢或者直接失败我们可以切换国内的源 目前国内可用的我知道的有两个 豆瓣的:http://pypi.doubanio.com/simple ...

  2. react项目实践——(4)依赖安装与配置

    1. 修改package.json,添加需要安装的包 { "name": "myapp", "version": "1.0.0&q ...

  3. react native 0.6x 在创建项目时,CocoaPods 的依赖安装步骤卡解决方案

    前言 你需要做两件事 gem换源 pod repo 换源 实战 如果你已经成功安装了CocoaPods.那么这里你需要卸载它.gem换源1. 卸载CocoaPods 查看gem安装的东西 gem li ...

  4. 关于 Eclipse中的Web项目 部署的文件位置 查看jsp源码的部署位置

    使用 eclipse 开发web项目 会默认 部署在 工作目录下: .metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps 在这里 ...

  5. Linux下Jenkins与GitHub自动构建Node项目(Vue)

    根据上篇文章<Linux下Jenkins与GitHub自动构建NetCore与部署>,我们知道了Jenkins的强大功能,自动构建,部署了一个NetCore的Web,让开发人员专注于开发, ...

  6. 生成一个node项目

    生成一个node项目1.创建文件夹2.文件夹中右键->在此处打开命令窗口->文件夹中打开dos3.执行:npm init //一路回车,最后y4.安装插件: C:\www\nodejs\h ...

  7. node项目自动化部署--基于Jenkins,Docker,Github(1)安装Jenkins

    前言 每次项目代码更新后都要重新部署,如果只有一台服务器还好. 但是如果是分布式系统,动不动就很多台服务器,所以代码的自动部署就显得十分重要了. 这里用几篇文章来记录一下如何使用Jenkins,Doc ...

  8. visual studio使用dos命令在生成项目时复制文件到指定目录

    本人使用软件:vs2015 拷贝“项目1”的 bin目录 下, 项目配置的名称(“Release”,“Debug”)目录下,所有内容到“项目2”输出目录(存在直接覆盖): xcopy $(Soluti ...

  9. C#项目打开/保存文件夹/指定类型文件,获取路径

    C#项目打开/保存文件夹/指定类型文件,获取路径 转:http://q1q2q363.xiaoxiang.blog.163.com/blog/static/1106963682011722424325 ...

  10. 安装node.msi 格式的文件失败

    in10 安装node.msi格式的文件,出现2503 2502 错误码, win+x 打开 在命令提示符窗口中输入: msiexec /package "安装msi格式的文件的全路径&qu ...

随机推荐

  1. Unity学习笔记--数据持久化XML文件(1)

    XML相关 Xml是可拓展标记语言,一种文件格式.我们使用xml来完成对数据持久化的存储.等待我们有一程序运行结束之后,将内存中的数据进行保存,(保存在硬盘/服务器)实现对数据的持久化存储. xml文 ...

  2. 项目实战:Qt管道焊接参数条码打印系统(条码打印机TSC 244 Pro、打印条码、打印中文、打印字符、多张连续打印)

    需求   电脑端通过条码打印机TSC-TTP244 Pro:  1. 打印出尺寸为60*30cm  2. 条码打印机TSC-TTP244 Pro 不干胶纸 (不需要碳带,热敏纸)  3. window ...

  3. 协程与yield表达式

    在函数内,yield语句可以作为表达式使用,出现在赋值运算符的右边,例如: def receiver(): print("Ready to receive") while True ...

  4. python模块imghdr-----推测图像类型

    官方文档 https://docs.python.org/zh-cn/3/library/imghdr.html#module-imghdr 用处 模块推测文件或字节流中的图像的类型 imghdr.w ...

  5. eclipse c++ 安装

    eclipse及其插件安装 对于我这种被VS惯坏了的人来说,make file 非常不友好的,最近要在redhat 下面去编译c++动态库和应用程序,原有的工程是在window下面的,要到linux下 ...

  6. [Node] nvm 安装 node 和 npm

    Node JS 安装 安装 node version manager (nvm) Windows: https://github.com/coreybutler/nvm-windows/release ...

  7. CentOS系统下,配制nginx访问favicon.ico

    sudo vim /etc/nginx/nginx.conf 添加以下配制: # set site faviconlocation /favicon.ico { root html;} 完整配置如下: ...

  8. 【Azure 应用程序见解】通过无代码方式在App Service中启用Application Insights后,如何修改在Application Insights中显示的App Service实例名呢?

    问题描述 在App Service中,可以非常容易的启动Application Insights服务.默认情况中,在Application Insights中查看信息时候,其中的对象名称默认为App ...

  9. 那些年,我的Mysql学习之旅(学习笔记持续整理更新中)

    MySql海量数据存储与优化 一.Mysql架构原理和存储机制 1.体系结构 2.查询缓存 3.存储引擎 存储引擎的分类 innodb:支持事务,具有支持回滚,提交,崩溃恢复等功能,事务安全 myis ...

  10. [.Net]使用Soa库+Abp搭建微服务项目框架(四):动态代理和RPC

    ​上一章我们完成了小项目的面向服务体系改造,你或许一直在思考一个问题.为什么要将业务独立成微服务? 微服务原理 以一个健康医疗系统为例, 这个系统包含了用户模块,问卷的发放与填写,图表显示,报表生成与 ...