我应该如何设置专用npm注册表?
对于一个公司项目,我想使用Artifactory或Nexus建立一个私有的npm注册中心,这样包就可以与所有人共享,而无需在上发布 在maven中,我将设置一个发布和快照回购。为了解决这个问题,我会把他们和maven central的代理放在一起 npm的设置是什么样子的?npm的semver能够区分发布和预发布,但我认为将它们路由到不同的注册中心可能是一项相当困难的任务我应该如何设置专用npm注册表?,npm,nexus,artifactory,Npm,Nexus,Artifactory,对于一个公司项目,我想使用Artifactory或Nexus建立一个私有的npm注册中心,这样包就可以与所有人共享,而无需在上发布 在maven中,我将设置一个发布和快照回购。为了解决这个问题,我会把他们和maven central的代理放在一起 npm的设置是什么样子的?npm的semver能够区分发布和预发布,但我认为将它们路由到不同的注册中心可能是一项相当困难的任务 另一方面,您可能希望能够控制推送到“发布注册表”的内容,从而实现相应的权限。为此,您必须使用“预发布”和“发布”注册表。如果
另一方面,您可能希望能够控制推送到“发布注册表”的内容,从而实现相应的权限。为此,您必须使用“预发布”和“发布”注册表。如果我理解正确,您希望能够拥有NPM的“发布”和“快照”存储库,就像您现在拥有的Maven一样 如果确实是这样,那么您可以在Artifactory中设置2个存储库,一个用于“预发布”,另一个用于“发布”,并在一个虚拟NPM存储库下聚合这两个存储库。正如您所提到的,您可以对每个存储库拥有不同的权限集,因此可以控制谁可以部署/解析依赖项,并且还可以相互移动工件
希望这能回答您的问题。关于如何在Nexus存储库中执行此操作,如果您确实需要,我建议您设置:
npm发布(npm托管)
npm预发布(npm托管)
npm所有(npm组)
使组包含两个成员(这样您就可以使用一个URL进行安装),然后在构建脚本或用于发布到Nexus存储库的任何内容中,只需使用--registry标志指定要发布到的存储库,类似于“发布”的内容:
npm发布--注册表http://localhost:8081/repository/npm-发布/
这是一个“预发布”:
npm发布--注册表http://localhost:8081/repository/npm-预发布/
如果您需要更多帮助,以下是Nexus Repository 3.x的npm文档:根据此链接
您可以使用Verdaccio
。按照以下步骤操作:
管理员的身份打开Powershell,然后运行
npmi-g--生产windows构建工具
然后跑
npm i-g节点gyp
Python.exe
文件路径
验证Python的安装位置,通常它存储在以下文件夹中
C:\Users\user name.windows构建工具\python27
复制路径+\python.exe环境变量
打开文件资源管理器
,右键单击计算机
,然后选择属性
选择高级系统设置
,然后选择环境变量
如果PYTHON
未列在System Variables
下,请选择New
将PYTHON
添加为变量名,将步骤3中的保存路径添加为变量值->选择OK
命令提示符
并运行npm i-g verdaccio
Verdaccio
的安装是否成功new命令提示符
并运行verdaccio
,您将看到以下输出localhost:4873
更多信息:
希望有用。你好,阿里尔,谢谢你的回答。我的问题是,这是否是与私人npm注册中心合作的常见方式/最佳实践。或者你会建议一种不同的方法吗?就个人而言,我认为你可以使用一个回购协议,这不像npmjs.org有两个单独的回购协议用于预发行和发行。我给出的示例主要是,如果您真的想这样做(出于某种安全需要),请看这里。