Node.js 可能的话,使用NPMAPI检索带有版本的私有npm包列表?

Node.js 可能的话,使用NPMAPI检索带有版本的私有npm包列表?,node.js,npm,Node.js,Npm,我在npmjs.org有一个私有的npm注册表,其中包含几个私有的npm包。我们正在转移到一家私人npm内部注册中心(verdaccio)。长话短说,有了我们的AWS基础设施,verdaccio服务器可以基于多种原因进行重建,主要问题是,当新服务器使用新的verdaccio安装启动时,显然不会发布任何包。我正在尝试创建一个脚本,该脚本将在创建服务器时运行,该脚本将执行以下几项操作: 1.询问用户以前的npm注册表是什么,以及用户的authToken(我们的情况是,只有服务器使用的服务用户) 2.

我在npmjs.org有一个私有的npm注册表,其中包含几个私有的npm包。我们正在转移到一家私人npm内部注册中心(verdaccio)。长话短说,有了我们的AWS基础设施,verdaccio服务器可以基于多种原因进行重建,主要问题是,当新服务器使用新的verdaccio安装启动时,显然不会发布任何包。我正在尝试创建一个脚本,该脚本将在创建服务器时运行,该脚本将执行以下几项操作: 1.询问用户以前的npm注册表是什么,以及用户的authToken(我们的情况是,只有服务器使用的服务用户) 2.查询以前的npm注册表以获取所有私有范围包及其所有版本的列表 3.将所有以前存在的软件包和版本复制/迁移/发布到新的verdaccio注册表,以便第一个运行“npm安装”的人将获得它们

有几个实用程序包用于帮助处理任务类型,但没有一个处理私有程序包。我曾尝试在curl命令中使用用户登录时生成的.npmrc文件中的authToken,但没有返回任何结果。我试过使用npm搜索功能。我已经尝试了所有这些实用程序包。我尝试过npm v2 api,但似乎没有任何东西返回私有包


有人有什么想法吗??谢谢

您需要在NPM注册表API中添加NPM_令牌

我发现两个端点可以帮助您对私有npm包的版本执行任何必要的逻辑

  • 列出所有专用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]"