一、nrm
nrm(npm registry manager )是npm的镜像源管理工具,有时候国外资源太慢,使用这个就可以快速地在 npm 源间切换。
二、nrm常用命令
1.命令 nrm ls
显示所有源
// 查看可选源
nrm ls
2.添加可选源 nrm add <registry> <url>,其中reigstry为源名,url为源的路径。
// 添加源
nrm add baidu www.baidu.com
3.切换源 nrm use 源名
// 切换源
nrm use taobao
4.删除源 nrm del baidu
// 删除源
nrm del baidu
5.test 源名(测试源响应时长)
// 测试源
nrm test
三、nrm ls不显示星号
1、在安装nrm目录下找到cli.js,打开修改代码
2、修改代码如下,把&&修改为||
// 源代码
config(attrs, registry).then(() => {
console.log(' ');
const newR = npm.config.get(FIELD_REGISTRY);
var customRegistries = getCustomRegistry();
Object.keys(customRegistries).forEach(key => {
delete customRegistries[key][FIELD_IS_CURRENT];
});
if (hasOwnProperty(customRegistries, name) && (name in registries || customRegistries[name].registry === registry.registry)) {
registry[FIELD_IS_CURRENT] = true;
customRegistries[name] = registry;
}
setCustomRegistry(customRegistries);
printMsg(['', ' Registry has been set to: ' + newR, '']);
}).catch(err => {
exit(err);
})
// 修改后
config(attrs, registry).then(() => {
console.log(' ');
const newR = npm.config.get(FIELD_REGISTRY);
var customRegistries = getCustomRegistry();
Object.keys(customRegistries).forEach(key => {
delete customRegistries[key][FIELD_IS_CURRENT];
});
if (hasOwnProperty(customRegistries, name) || (name in registries || customRegistries[name].registry === registry.registry)) {
registry[FIELD_IS_CURRENT] = true;
customRegistries[name] = registry;
}
setCustomRegistry(customRegistries);
printMsg(['', ' Registry has been set to: ' + newR, '']);
}).catch(err => {
exit(err);
})
3、再次nrm use taobao, nrm ls就可以看到星号了