Node.js 可能的话,使用NPMAPI检索带有版本的私有npm包列表?
我在npmjs.org有一个私有的npm注册表,其中包含几个私有的npm包。我们正在转移到一家私人npm内部注册中心(verdaccio)。长话短说,有了我们的AWS基础设施,verdaccio服务器可以基于多种原因进行重建,主要问题是,当新服务器使用新的verdaccio安装启动时,显然不会发布任何包。我正在尝试创建一个脚本,该脚本将在创建服务器时运行,该脚本将执行以下几项操作: 1.询问用户以前的npm注册表是什么,以及用户的authToken(我们的情况是,只有服务器使用的服务用户) 2.查询以前的npm注册表以获取所有私有范围包及其所有版本的列表 3.将所有以前存在的软件包和版本复制/迁移/发布到新的verdaccio注册表,以便第一个运行“npm安装”的人将获得它们 有几个实用程序包用于帮助处理任务类型,但没有一个处理私有程序包。我曾尝试在curl命令中使用用户登录时生成的.npmrc文件中的authToken,但没有返回任何结果。我试过使用npm搜索功能。我已经尝试了所有这些实用程序包。我尝试过npm v2 api,但似乎没有任何东西返回私有包Node.js 可能的话,使用NPMAPI检索带有版本的私有npm包列表?,node.js,npm,Node.js,Npm,我在npmjs.org有一个私有的npm注册表,其中包含几个私有的npm包。我们正在转移到一家私人npm内部注册中心(verdaccio)。长话短说,有了我们的AWS基础设施,verdaccio服务器可以基于多种原因进行重建,主要问题是,当新服务器使用新的verdaccio安装启动时,显然不会发布任何包。我正在尝试创建一个脚本,该脚本将在创建服务器时运行,该脚本将执行以下几项操作: 1.询问用户以前的npm注册表是什么,以及用户的authToken(我们的情况是,只有服务器使用的服务用户) 2.
有人有什么想法吗??谢谢 您需要在NPM注册表API中添加NPM_令牌 我发现两个端点可以帮助您对私有npm包的版本执行任何必要的逻辑
{“我的包”:“写”}
**NPM_用户名可以是组织的范围
{
“_id”:“我的包裹”,
“姓名”:“我的包裹”,
“dist标记”:{“最新”:“1.0.0”},
“版本”:{
"1.0.0": {
“姓名”:“我的包裹”,
“版本”:“1.0.0”
//...
}
//...
}
}
我也看到了这篇文章,上面说registry.npmjs.org不接受任何身份验证标题。。。那肯定很糟糕。这个答案令人难以置信,我已经到处找过了。不能相信我是第一个投票支持这个的人。谢谢
curl -H "Authorization: Bearer $NPM_TOKEN" "https://registry.npmjs.org/-/user/[NPM_USERNAME]/package"
curl -H "Authorization: Bearer $NPM_TOKEN" "https://registry.npmjs.org/[NPM_PACKAGE_NAME]"