{"id":15029136,"url":"https://github.com/pana/nrm","last_synced_at":"2025-05-14T00:10:40.134Z","repository":{"id":14561907,"uuid":"17277700","full_name":"Pana/nrm","owner":"Pana","description":"NPM registry manager, fast switch between different registries: npm, cnpm, nj, taobao","archived":false,"fork":false,"pushed_at":"2024-12-17T02:25:27.000Z","size":596,"stargazers_count":2931,"open_issues_count":30,"forks_count":255,"subscribers_count":42,"default_branch":"master","last_synced_at":"2025-05-12T23:36:37.262Z","etag":null,"topics":["npm","nrm","registries","registry-manager"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Pana.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-02-28T06:41:32.000Z","updated_at":"2025-05-12T09:16:49.000Z","dependencies_parsed_at":"2022-07-12T15:13:20.617Z","dependency_job_id":"427c81dd-ae9c-44ac-bb32-07e932c4097c","html_url":"https://github.com/Pana/nrm","commit_stats":{"total_commits":182,"total_committers":38,"mean_commits":"4.7894736842105265","dds":0.7802197802197802,"last_synced_commit":"707cb25a8f52a9e52f60bf222034aec1066e2e5f"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pana%2Fnrm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pana%2Fnrm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pana%2Fnrm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pana%2Fnrm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pana","download_url":"https://codeload.github.com/Pana/nrm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254044347,"owners_count":22005139,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["npm","nrm","registries","registry-manager"],"created_at":"2024-09-24T20:09:48.620Z","updated_at":"2025-05-14T00:10:35.110Z","avatar_url":"https://github.com/Pana.png","language":"TypeScript","readme":"nrm -- npm registry manager\n===\n\n\u003cp\u003e\n  \u003cimg src=\"https://img.shields.io/github/package-json/v/Pana/nrm\" alt=\"version\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/stars/Pana/nrm\" alt=\"stars\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/license/Pana/nrm\" alt=\"license\"\u003e\n\u003c/p\u003e\n\n`nrm` can help you switch different npm registries easily and quickly. It supports\n`npm`, `cnpm`, `taobao`, `yarn`, `tencent`, `npmMirror` and `huawei`.\n\n\n## Install\n\n```\n# npm\nnpm install -g nrm\n\n# yarn \nyarn global add nrm\n\n# pnpm\npnpm add -g nrm\n```\n\n## Example\n```\n$ nrm ls\n\n* npm ---------- https://registry.npmjs.org/\n  yarn --------- https://registry.yarnpkg.com/\n  tencent ------ https://mirrors.tencent.com/npm/\n  cnpm --------- https://r.cnpmjs.org/\n  taobao ------- https://registry.npmmirror.com/\n  npmMirror ---- https://skimdb.npmjs.com/registry/\n  huawei ------- https://repo.huaweicloud.com/repository/npm/\n\n```\n\n```\n$ nrm use taobao\n\nSUCCESS The registry has been changed to 'taobao'.\n```\n\n## Usage\n\n\u003e [!TIP]\n\u003e The lowest node version is ***18*** from ***v1.4.0***.\n\n```\nUsage: nrm [options] [command]\n\n  Commands:\n\n    ls                                    List all the registries\n    current                               Show current registry name\n      -u  --show-url                        Show the registry URL instead of the name\n    use [registry]                        Change registry to registry\n      -l  --local                           Switch local registry\n    add \u003cregistry\u003e \u003curl\u003e [home]           Add one custom registry\n    login \u003cregistry\u003e [value]              Set authorize information for a registry with a base64 encoded string or username and password\n      -a  --always-auth                     Set is always auth\n      -u  --username \u003cusername\u003e             Your user name for this registry\n      -p  --password \u003cpassword\u003e             Your password for this registry\n      -e  --email \u003cemail\u003e                   Your email for this registry\n    set-hosted-repo \u003cregistry\u003e \u003cvalue\u003e    Set hosted npm repository for a custom registry to publish packages\n    set-scope \u003cscopeName\u003e \u003cvalue\u003e         Associating a scope with a registry\n    del-scope \u003cscopeName\u003e                 Remove a scope\n    set \u003cregistryName\u003e                    Set custom registry attribute\n      -a  --attr \u003cattr\u003e                    Set custom registry attribute\n      -v  --value \u003cvalue\u003e                  Set custom registry value\n    del [registry]                        Delete one custom registry\n    rename \u003cregistryName\u003e \u003cnewName\u003e       Set custom registry name\n    home \u003cregistry\u003e [browser]             Open the homepage of registry with optional browser\n    publish [\u003ctarball\u003e|\u003cfolder\u003e]          Publish package to current registry if current registry is a custom registry. The field 'repository' of current custom registry is required running this command. If you're not using custom registry, this command will run npm publish directly\n      -t  --tag [tag]                        Add tag\n      -a  --access \u003cpublic|restricted\u003e       Set access\n      -o  --otp [otpcode]                    Set otpcode\n      -dr --dry-run                          Set is dry run\n    test [registry]                       Show the response time for one or all registries\n    help [command]                        Display help for command\n\n  Options:\n\n    -h  --help     output usage information\n    -V  --version  output the version number\n```\n\n## Registries\n\n* [npm](https://www.npmjs.org)\n* [yarn](https://yarnpkg.com)\n* [tencent](https://mirrors.tencent.com)\n* [cnpm](http://cnpmjs.org)\n* [npmMirror](https://skimdb.npmjs.com/)\n* [taobao](https://npmmirror.com)\n* [huawei](https://www.huaweicloud.com/special/npm-jingxiang.html)\n\n## How to configure yarn to use private registry ?\n\njust add .yarnrc in your project’s directory and write there:\n`registry \"http://your.registry\"`\n\nOr you can configure it in your HOME directory's .yarnrc\n\n## Related Projects\n\n* [verdaccio--A lightweight private npm proxy registry](https://verdaccio.org/)\n\n## TODO \n\n1. Add more registries: github, [sonatype](https://help.sonatype.com/repomanager3/formats/npm-registry)\n\n## Notice\n\nWhen you are using preset registries the `publish` command will proxy to the npm official registry.\n\nWhen you are using a custom registry you will need to run the `set-hosted-repo` to set a url to publish packages to your hosted registry.\n\n## Maintainer is wanted\n\nIf you find nrm is useful and are an experienced node.js developer, then you can help maintain nrm.\n\nIf you have the interest, you can reach me through email: pana.wang@outlook.com\n\n## Contributors\n\n\u003ca href=\"https://github.com/Pana/nrm/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=Pana/nrm\" /\u003e\n\u003c/a\u003e\n\n## LICENSE\n\n[MIT](LICENSE)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpana%2Fnrm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpana%2Fnrm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpana%2Fnrm/lists"}