大家好,今天来为大家解答搭建本地npm私服这个问题的一些问题点,包括也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
2、包缓存在私服中,同事下载速度大大提高。
3.您可以根据需要配置发布和下载权限
开始
我们先安装nodeJs
我们可以从官方网站下载
https://nodejs.org/zh-cn/
然后我们安装verdaccio
Verdaccio 是一个简单的、零配置的本地私有npm 包代理注册表。 Verdaccio 开箱即用,拥有自己的小型数据库,可以代理其他注册中心(例如npmjs.org),并缓存下载的模块。
npm install -g verdaccio –unsafe-perm 启动verdaccio
韦尔达西奥看到了这个
就说明安装成功了。
接下来我们配置我们的npm 代理
可以直接用npm配置
npm setregistry http://your ip:post 当然你也可以安装nrm来管理它
nrm(npm 注册表管理器)是npm 的镜像源管理工具。有时候国外资源太慢了。您可以使用它在npm 源之间快速切换。
npm i nrm -gnrm add myip http://ip:portnrm 使用myip查看代理配置命令
npm config list 然后,我们配置verdaccio 配置文件。默认情况下,mac 放置在
/用户/用户/.config/verdaccio
该窗口应位于%node_global%\node_modules\verdaccio\bin\verdaccio 下
打开文件
我们来看一些常见的文件配置说明
storage:仓库保存的地址,发布时仓库保存的地址。 auth: htpasswd file: 账户密码的文件地址。它在初始化期间不存在。您可以指定需要手动创建。 max_users:默认为1000,即允许注册的用户数。当-1时,不允许用户通过npm adduser注册。但是,当为-1时,可以通过直接写入htpasswd文件的内容来添加用户。语法:用户名:{SHA}哈希加密字符=:autocreated 时间加密算法:SHA1哈希然后转换为Base64。只需输出uplinks:配置上游npm服务器,主要用于当请求的仓库不存在时,去上游服务器。拉。 packages:配置模块。 access获取下载权限,发布包发布权限。格式如下:scope: 权限:操作scope:有两种模式。一种是@/表示下属的某个项目,另一种是*匹配项目名称(名称在package.json中定义)。权限: l access: 表示哪种类型的用户可以安装匹配的项目(install) lpublish: 表示哪种类型的用户可以发布匹配的项目(publish) l proxy: 顾名思义,这里的值就是上行链路对应的名称。如果本地不存在,则允许去对应的地方。上行链路拾取。操作: l $all 表示每个人(注册或未注册)都可以执行相应的操作l $authenticated 表示只有经过验证的人(注册)才能执行相应的操作。请注意,任何人都可以注册帐户。 l $anonymous 表示只有匿名的人才能执行相应的操作(通常没用) l 或者可以指定我们之前配置的用户表htpasswd 对应的一个或多个用户,这样就可以明确指定哪些用户可以执行匹配操作。端口和主机名。 localhost:4873 #默认0.0.0.0:4873 #我主要在所有网卡监控端改这几个点。
修改npm上游依赖
修改npm的上游依赖
添加收听
access:表示哪种类型的用户可以安装匹配的项目(install),publish:表示哪种类型的用户可以发布匹配的项目(publish)。这两项根据实际需要进行调整。
修改后保存文件,然后执行命令使其生效。
verdaccio -c config.yaml 接下来我们在私服中创建用户后,就可以直接启动了
verdaccio,我们还使用pm2来保护进程。
pm2是一个进程管理工具。您可以使用它来管理节点进程并查看节点进程的状态。当然,它还支持性能监控、进程守护进程、负载均衡等功能。
npm install -g pm2 之后,我们启动pm2就可以使用了。即使关闭控制台,verdaccio也不会关闭。
pm2 start verdacciopm2 stop verdaccio 在窗口中,如果不起作用,可以尝试添加路径,例如:
停止pm2 stop which D:\nodejs\node_global\node_modules\verdaccio 查看日志pm2 show D:\nodejs\node_global\node_modules\verdaccio 以下是pm2 的常用命令:
接下来我们在私服中创建用户
npm adduser 根据提示填写即可
登录并查看当前用户
npm loginnpm who am i 发布前修改package.json中的版本号。否则,如果与库中的版本号相同,则不会发布:
然后将代码打包。这里我使用库模式进行打包。
‘lib’: ‘vue-cli-service build –dest lib –target lib –name 项目名称./src/packages/index.ts’
npm run lib,还可以配置要发布的文件:
配置位于package.json文件中,例如:
现在您可以发布它
npm 发布
发布成功
当你看到这个,就说明发布成功了。
这时候你就可以去私服观看了。
http://ip:4873
就可以看到刚刚发布的包了。
已发布的模块也可以删除
npm unpublish –force yourPackage 最后,如果别人要下载,必须和你在同一个局域网。当然在公司是没问题的,然后他们通过修改注册表就可以下载了。
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/160656.html
用户评论
太易動情也是罪名
终于找到解决公司网络安全限制的办法了!搭建自家的npm镜像服务器确实提高了不少效率,不用再跟墙外搏斗,速度提升明显!
有9位网友表示赞同!
醉红颜
我也是这样想的!以前每次npm install都要好几个小时,现在用私服直接下载速度飞快,真的太赞了!
有5位网友表示赞同!
┲﹊怅惘。
搭建私服确实是个不错的方案,可以有效管理公司内部的依赖包版本,防止版本冲突,不过要配置起来还是有点麻烦啊…
有20位网友表示赞同!
娇眉恨
我是使用国内的云服务商提供的npm镜像服务,维护省心又稳定,如果自己搭建还需要考虑性能和安全问题,不如交给他家弄吧。
有5位网友表示赞同!
怀念·最初
分享下你的搭建经验吗?我也正在寻找解决方案避免公司网络限制带来的麻烦!
有8位网友表示赞同!
冷青裳
其实私服配置并不难,只要掌握相关技术也不需要太复杂操作。我用的是Verdaccio 这个,轻量又好上手!
有19位网友表示赞同!
等量代换
学习一下吧!以前一直没想试试搭建私服,现在公司项目越来越大,或许自己也搭建一个是个不错的选择。
有5位网友表示赞同!
她的风骚姿势我学不来
注意安全啊!搭建私服如果配置不当很容易被黑客攻击…
有13位网友表示赞同!
拽年很骚
我建议多了解一下安全的配置方式,比如HTTPS认证,用户权限控制等,才能确保私服的安全可靠。
有5位网友表示赞同!
你是梦遥不可及
赞同!自己搭建虽然方便,但安全问题确实需要格外重视,毕竟公司很多资源都依赖这个服务器了。
有15位网友表示赞同!
拥抱
学习一下搭建私服的流程,感觉还是挺有用的,可以提升团队效率。
有13位网友表示赞同!
゛指尖的阳光丶
搭建一个本地npm私服确实能够解决了很多公司的网络限制问题,提高工作效率!
有12位网友表示赞同!
身影
自己搭建私服需要一定的技术基础,对于程序员来说可以提升一些技能,不过新手可能还是比较难上手。
有10位网友表示赞同!
微信名字
安装维护比较方便吗?我平时时间有限,担心无法妥善管理 。
有9位网友表示赞同!
ー半忧伤
我之前也遇到了这个问题,建议选择轻量级的版本和完善的教程,容易上手还省心!
有18位网友表示赞同!
有些人,只适合好奇~
搭建私服的好处确实可以体验到,但我还是更喜欢直接访问npm公共仓库,感觉更灵活方便。
有15位网友表示赞同!
龙卷风卷走爱情
我觉得使用私服也有一些缺点,例如维护成本较高,需要定期更新维护和安全评估。
有16位网友表示赞同!
刺心爱人i
对于小团队来说搭建一个自有私服的开销可能有点高,不如优先考虑其他优化方案,如果后续需求增加再考虑吧!
有11位网友表示赞同!