当前位置: 首页 > Web前端 > HTML

npm私有仓库Nexus的使用

时间:2023-03-28 17:13:49 HTML

公司经常在内网搭建私服,用于管理打包的工具插件等,并打包其他来源的缓存,支持网络隔离,节省宽带流量,以及很快。安装Nexus官网下载或Docker安装,目前Nexus3支持以下几种:以管理员账号登录配置服务。添加npm私有源点击左侧菜单Repositories,可以看到仓库类型列表,如下:npm仓库一共有三种:hosted:表示机器是私有的,即私有包所在的位置存储。这里的Deployment策略需要选择Allowredeploy,这样同一个包才能支持二次发布。proxy:表示远程代理,可以代理npmjs官方源或者淘宝源码群:用于聚合管理,如果里面有hosted和proxy,会先从hosted中获取,如果没有,会从proxy中获取并缓存,下次会从缓存中取推荐将npm仓库存放在一个Storage中,这样会节省空间。所以无论里面有多少台hosted或者proxy,都推荐使用group的方式,这样对外只有一个export。使用npm私有源#设置私有源npmconfigsetregistryhttp://localhost:8081/repository/npm-group/yarnconfigsetregistryhttp://localhost:8081/repository/npm-group/#设置官方源npmsetregistryhttps://registry.npmjs.org/yarnsetregistryhttps://registry.npmjs.org/如果提示无法验证第一个证书,请执行yarnconfigsetstrict-sslfalse和npmconfigsetstrict-sslfalse关闭证书验证。如果无法连接私服,请切换回npm官方源,通过nrm、配置文件(如.npmrc、.yarnrc)等方式管理源,请自行处理。还有一种比较激进的方法是在内网使用DNS劫持,让官方源地址代理内部私服,这样就可以实现无缝切换。但如果内源不稳定,也没办法,还是慎重为好。然后在安装依赖的时候,会从私有源下载。同时,下载的包会缓存在Nexus上,再次下载时不会从公网下载。发布包到私服无论是发布到npm官方源还是内网私有源,都需要先登录npm发布包。1、设置Nexus支持npm认证在Realms菜单中,将npmBearerTokenRealm添加为Active2、创建Nexus的npm发布专用账户点击:Administration→Security→Roles新建一个npm_publisher角色,并添加如下权限:(我为了方便,喜欢用通配符添加权限策略*)readthen点击:Administration→Security→Users→CreateUser,添加一个新用户abc,然后给npm_publisher角色授予权限。3.最后用这个用户发布包到私服登录用户npmadduser-registryhttps://localhost:8081/repository/npm-hosted/Username:abcPassword:Email:(thisISpublic)abc@devops。com在https://localhost:8081/repository/npm-hosted/上以abc身份登录。上传包。更多教程请参考npmpublish4,npm包发送者必读。最后在Nexus上选择npm-group的浏览,可以看到对应的包文件参考:使用Nexus3RepositoryManager搭建npm私有服务器在私有仓库nexus中发布npm包在私有仓库(nexus)中发布npm包操作步骤