一.通过命令配置淘宝镜像
切换为淘宝镜像命令(安装一些package容易报错)
npm config set registry https://registry.npm.taobao.org
查看当前使用的镜像地址命令
npm config get registry
如果返回 https://registry.npm.taobao.org,说明镜像配置成功。
二、切换回原镜像(安装一些package不容易报错)
npm config set registry https://registry.npmjs.org
三、其他镜像地址查询
安装nrm
npm install nrm -g
使用nrm查询其他镜像地址(出现报错,可能是因为安装了最新版本的nrm导致冲突)
nrm ls
报错解决办法 :
使用步骤二所示方法将镜像切换为原始镜像,避免以为切换为其他镜像引起的报错;
查看nrm可用的版本
npm view nrm versions
卸载原有的nrm:
npm uninstall -g nrm
安装指定版本的nrm(这里使用1.1.0不会报错,使用的node版本为v16.3.0)
npm install -g nrm@1.1.0
查看安装的nrm版本:
nrm -V或者nrm --version
————————————————
版权声明:本文为CSDN博主「David-hu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45182409/article/details/117981169
.npmrc配置文件
一、文件位置
全局配置文件:/etc/npmrc
用户配置文件:~/.npmrc
项目配置文件:$项目根目录/.npmrc
优先级:项目配置>用户配置>全局配置。npm会先按照优先级从低到高依次读取配置文件,如果多个配置文件都配置了同一个key,后读取的会覆盖之前的。例如,在用户配置文件和项目配置文件中都配置了registry地址,npm会先读取用户配置,再读取项目配置,项目配置里配置的registry地址会覆盖用户配置里的registry地址。
通过npm config 修改的是用户配置文件(~/.npmrc)
二、命令行
设置文件key-value
npm config set key value
1
如设置仓库信息:
npm config set registry https://repo.huaweicloud.com/repository/npm/
1
三、.npmrc文件配置
配置仓库:
registry=https://repo.huaweicloud.com/repository/npm/
1
根据scope设置仓库:
@aa:registry=https://repo.huaweicloud.com/repository/npm/
1
配置bin目录:
prefix=/usr/local/npm
1
配置node-sass等模块仓库:
sass_binary_site=https://repo.huaweicloud.com/node-sass
phantomjs_cdnurl=https://repo.huaweicloud.com/phantomjs
chromedriver_cdnurl=https://repo.huaweicloud.com/chromedriver
operadriver_cdnurl=https://repo.huaweicloud.com/operadriver
1
2
3
4
自定义缓存目录:
cache=~/.cache/npm_cache
1
配置仓库认证信息,用于私有仓库读取或上传npm包:
always-auth=true
_auth="用户名:密码"的base64编码
1
2
在多私库且用户名密码不同的情况下,可以对单个私库配置_auth:
:前为仓库地址去掉http/https
//repo.huaweicloud.com/repository/npm/:_auth=xxxxxx
1
2
除了使用用户名密码,还可以通过配置_authToken配置认证信息:
_authToken=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
1
配置当通过https向注册中心发出请求时,不进行SSL密钥验证(一般不推荐,不安全):
strict-ssl=false
1
四、如何配置发布组件
npm配置组件发布的方式有两种,一种是通过配置packege.json实现,另一种则是通过配置文件.npmrc实现。
package.json配置方式:
@aa是组件的scope。scope在模块名name中使用时,以@开头,后边跟一个/
{
“name”: “@aa/xxx”, // 发布npm包的名字
“version”: “1.0.0”, // 你的npm包版本
“description”: “xxxx”, // 包的描述
“main”: “dist/btn.js”, // 指定组件的主入口文件
“publishConfig”: {
“registry”: “要发布的私有仓库地址,然后在.npmrc配置用户名密码”
}
…
}
1
2
3
4
5
6
7
8
9
10
11
.npmrc配置方式:
package.json不做任何仓库的配置:
{
“name”: “@aa/xxx”, // 发布npm包的名字
“version”: “1.0.0”, // 你的npm包版本
“description”: “xxxx”, // 包的描述
“main”: “dist/btn.js”, // 指定组件的主入口文件
…
}
.npmrc配置仓库地址和用户名密码:
@aa:registry=私仓地址
1
2
3
4
5
6
7
8
9
10
11
配置好仓库信息后,执行发布命令即可将打包好的组件发布到仓库中:
npm publish
1
五、使用带有scope的模块
在package.json的dependencies标签中加上即可使用。
“dependencies”: {
“@aa/mypackage”: “^1.3.0”
}
————————————————
版权声明:本文为CSDN博主「七个披萨」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_38384296/article/details/116403848
1.命令设置(全局的环境中运行)
npm config set prefix ‘’ // 设置的用户 .npmrc ==>prefix 设置的全局node_modules 位置
; 缓存地址
cache=D:\ProgramFiles\NodeJs\npm_cache
; 指定默认的编辑器
editor=D:\ProgramFiles\Notepad++\notepad++.exe
; 模块安装地址
prefix=D:\ProgramFiles\NodeJs\npm_modules
; 模块库
registry=https://registry.npm.taobao.org/
; 临时文件地址
tmp=D:\ProgramFiles\NodeJs\tmp
2.文件配置 .npmrc // 项目的.npmrc的局部位置(局部环境运行 script中)
; 缓存地址
cache=D:\ProgramFiles\NodeJs\npm_cache
; 指定默认的编辑器
editor=D:\ProgramFiles\Notepad++\notepad++.exe
; 模块安装地址
prefix=D:\ProgramFiles\NodeJs\npm_modules
; 模块库
registry=https://registry.npm.taobao.org/
; 临时文件地址
tmp=D:\ProgramFiles\NodeJs\tmp