【问题标题】:How can I get Sinopia to mirror all npm packages from registry.npmjs.org?如何让 Sinopia 镜像 registry.npmjs.org 中的所有 npm 包?
【发布时间】:2016-02-12 11:52:10
【问题描述】:

我正在离线环境中建立一个完整的 npm 存储库,我正在研究使用 Sinopia 作为存储库。

显然,这已经完成了。 Sinopia github页面上的This thread描述了一个类似的场景,您在在线环境中从registry.npmjs.org下载所有包,然后将它们复制到离线环境,用户甚至包含一个脚本来将所有文件下载到Sinopia后端。该脚本似乎可以工作,但它并没有真正下载所有包 - 只下载了已安装的所有版本的包。

是否有其他方法可以告诉 Sinopia 从 registry.npmjs.org 下载所有包,或者我可以通过某种方式从 registry.npmjs.org 获取完整的包列表并使用它来将所有文件下载到 Sinopia?

感谢任何输入!

【问题讨论】:

    标签: node.js npm sinopia


    【解决方案1】:

    您可以使用https://skimdb.npmjs.com/registry/_all_docs 获取包含注册表中所有包列表的json。

    您可以使用一些简单的 shell 脚本来提取裸名,例如:

    curl -s https://skimdb.npmjs.com/registry/_all_docs | grep \"id\": | cut -d\" -f4
    

    注意:该列表曾经在“registry.npmjs.org/-/short”上可用,但由于导致服务器负载过大而被删除(如下所示:https://github.com/npm/npm-registry-couchapp/issues/162

    【讨论】:

    • 太棒了,我可以轻松使用它。非常感谢!抱歉,我没有足够的业力来支持你:-/
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-27
    • 2019-11-02
    • 1970-01-01
    相关资源
    最近更新 更多