{"id":16906589,"url":"https://github.com/rsms/mode","last_synced_at":"2026-03-16T15:06:17.090Z","repository":{"id":817738,"uuid":"528826","full_name":"rsms/mode","owner":"rsms","description":"Node module manager and repository","archived":false,"fork":false,"pushed_at":"2010-03-14T16:32:54.000Z","size":181,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-13T05:48:08.504Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rsms.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-02-21T16:58:11.000Z","updated_at":"2023-12-08T19:47:04.000Z","dependencies_parsed_at":"2022-07-05T17:02:13.670Z","dependency_job_id":null,"html_url":"https://github.com/rsms/mode","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/rsms/mode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsms%2Fmode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsms%2Fmode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsms%2Fmode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsms%2Fmode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rsms","download_url":"https://codeload.github.com/rsms/mode/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsms%2Fmode/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261159473,"owners_count":23118020,"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":[],"created_at":"2024-10-13T18:43:27.817Z","updated_at":"2026-03-16T15:06:12.043Z","avatar_url":"https://github.com/rsms.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mode\n\nDistributed [Node](http://nodejs.org/) module repository.\n\nMode aims to provide three things:\n\n- Provide a simple command line tool for installing and managing node modules.\n- Distribute hosting of modules -- each registered module is individually maintained and developed by it's author(s).\n- Provide a standard index of known modules.\n\nIf you are a module developer you might be interested in reading the [Mode maintainers' guide](http://github.com/rsms/mode/blob/master/doc/maintainers-guide.md).\n\n\n## Example use\n\nThis example assumes you have cloned mode and added the `bin` directory to your `PATH`.\n\n    $ mode search sqlite\n    database/sqlite — Bindings for SQLite3.\n    $ mode install sqlite\n    Installing sqlite@master\n    \u003e Fetching sqlite@master from git://github.com/grumdrig/node-sqlite.git\n    \u003e Configuring sqlite@master\n    \u003e Building sqlite@master\n    \u003e Activating sqlite@master\n    Installed sqlite@master\n    $\n\n## Installing\n\nMode is installed by cloning this repository and can be placed wherever you want.\n\n    $ git clone git://github.com/rsms/mode.git\n\nMode will put all activated modules in the \"active\" subdirectory. If you installed mode in your home directory, active modules will be found in `~/mode/active`. To make node find modules installed and activated by mode, you need to tell node about this path. There are many ways of doing so, but the recommended way is by using `~/.node_libraries`:\n\n    $ ln -s mode/active .node_libraries\n\nNow node will find all modules you install and activate using mode. You can of course still put other modules, not managed by mode, into your .node_libraries directory.\n\nAlso, add the `mode` program to your `PATH`. One way of doing so would be:\n\n    $ ln -s mode/bin/mode ~/bin/mode\n\nAssuming `~/bin` is a directory and already in `PATH`.\n\n\n## Usage\n\n    Usage: mode [global options] \u003ccommand\u003e [command options]\n    Global options:\n      --quiet, -q      Suppress all messages except errors.\n      --verbose, -v    Print details.\n      --debug, -d      Print too much details.\n      --help, -h       Show this help message.\n      --batch, -B      Batch mode (non-interactive).\n    Commands:\n      search           Find modules.\n      install          Install modules.\n      upgrade          Upgrade modules.\n      list, ls         List installed or active modules.\n      activate         Activate modules.\n      deactivate       Deactivate modules.\n      uninstall        Uninstall and deactivate modules.\n      update           Update the module index.\n      version          Print version of mode and exit.\n      help             Display help for a command.\n\n### Commands\n\n#### search\n\nSearch and find modules in the module index.\n\n    Usage: mode search [options] \u003cquery\u003e\n    Options:\n      --regexp, -r            Treat \u003cquery\u003e as a regular expression.\n      --substr, -s            Treat \u003cquery\u003e as a substring (instead of a word or pr\n                              efix).\n      --case-sensitive, -c    Make query case-sensitive. Default for --regexp query\n                               without the \"i\" flag when --regexp.\n      --help, -h              Show this message\n\n#### install\n\nInstall and possibly activate modules.\n\n    Usage: mode install [options] \u003cmodule\u003e ..\n    Options:\n      --force, -f               Force fetching and building even when not neccessar\n                                y.\n      --repo-uri, -u \u003cs\u003e        Override the repository defined by the index. Warni\n                                ng: this might give you unexpected results.\n      --repo-ref, -r \u003cs\u003e        Fetch a specific ref (branch, tag or revision), oth\n                                er than the recommended default, from the module re\n                                pository. Only applies to modules managed by revisi\n                                on control systems like git.\n      --install-path, -i \u003cs\u003e    Override installation location (Note: this is not t\n                                he \"active\" location, but where a module version is\n                                 \"unpacked\").\n      --case-sensitive, -c      Make query case-sensitive. Default for --regexp que\n                                ry without the \"i\" flag when --regexp.\n      --help, -h                Show this message\n\n#### upgrade\n\nUpgrade modules to the latest versions. Performs about the same job as install, but will exit in error if one of the denoted modules are not installed. Also, upgrade will not activate or deactivate any modules.\n\n    Usage: mode upgrade [options] \u003cmodule\u003e ..\n    Options:\n      --force, -f               Force fetching and building even when not neccessar\n                                y.\n      --repo-uri, -u \u003cs\u003e        Override the repository defined by the index. Warni\n                                ng: this might give you unexpected results.\n      --repo-ref, -r \u003cs\u003e        Fetch a specific ref (branch, tag or revision), oth\n                                er than the recommended default, from the module re\n                                pository. Only applies to modules managed by revisi\n                                on control systems like git.\n      --install-path, -i \u003cs\u003e    Override installation location (Note: this is not t\n                                he \"active\" location, but where a module version is\n                                 \"unpacked\").\n      --case-sensitive, -c      Make query case-sensitive. Default for --regexp que\n                                ry without the \"i\" flag when --regexp.\n      --help, -h                Show this message\n\n#### list, ls\n\nList modules already installed or activated. Defaults to listing installed modules.\n\n    Usage: mode list [options] [installed*|active] \u003cquery\u003e\n    Options:\n      --regexp, -r            Treat \u003cquery\u003e as a regular expression.\n      --substr, -s            Treat \u003cquery\u003e as a substring (instead of a word or pr\n                              efix).\n      --case-sensitive, -c    Make query case-sensitive. Default for --regexp query\n                               without the \"i\" flag when --regexp.\n      --help, -h              Show this message\n\n#### activate\n\nActivate modules. Active modules are exposed to node and are useable by other node modules.\n\n    Usage: mode activate [options] \u003cmodule\u003e ..\n    Options:\n      --force, -f               Activate new module versions even if another versio\n                                n of the module is active.\n      --install-path, -i \u003cs\u003e    Override installation location (Note: this is not t\n                                he \"active\" location, but where a module version is\n                                 \"unpacked\").\n      --case-sensitive, -c      Make query case-sensitive. Default for --regexp que\n                                ry without the \"i\" flag when --regexp.\n      --help, -h                Show this message\n\n#### deactivate\n\nDeactivate modules.\n\n    Usage: mode deactivate [options] \u003cmodule\u003e ..\n    Options:\n      --force, -f               Do not raise an error if a module is not active.\n      --install-path, -i \u003cs\u003e    Override installation location (Note: this is not t\n                                he \"active\" location, but where a module version is\n                                 \"unpacked\").\n      --case-sensitive, -c      Make query case-sensitive. Default for --regexp que\n                                ry without the \"i\" flag when --regexp.\n      --help, -h                Show this message\n\n#### uninstall\n\nRemove an installed module (and deactivate it if active).\n\n    Usage: mode uninstall [options] \u003cmodule\u003e ..\n    Options:\n      --force, -f               Do not raise an error if a module is not installed.\n      --install-path, -i \u003cs\u003e    Override installation location (Note: this is not t\n                                he \"active\" location, but where a module version is\n                                 \"unpacked\").\n      --case-sensitive, -c      Make query case-sensitive. Default for --regexp que\n                                ry without the \"i\" flag when --regexp.\n      --help, -h                Show this message\n\n#### update\n\nUpdate mode and the module index.\n\n    Usage: mode update\n\n#### version\n\nPrint version of mode (in git describe syntax) and exit.\n\nExample:\n\n    $ mode version\n    mode v0.1.0-14-g4461500\n\n#### help\n\nDisplay help about a command.\n\nExample:\n\n    $ mode help list\n    Usage: mode list [options] [installed*|active] \u003cquery\u003e\n    Options:\n      --regexp, -r            Treat \u003cquery\u003e as a regular expression.\n      --substr, -s            Treat \u003cquery\u003e as a substring (instead of a word or pr\n                              efix).\n      --case-sensitive, -c    Make query case-sensitive. Default for --regexp query\n                               without the \"i\" flag when --regexp.\n      --help, -h              Show this message\n\n\n## Requirements\n\n- [node](http://nodejs.org/) `\u003e=0.1.31`\n- [git](http://git-scm.com/) `\u003e=1.6`\n\nYup, that's it.\n\n## MIT license\n\nCopyright (c) 2010 Rasmus Andersson\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frsms%2Fmode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frsms%2Fmode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frsms%2Fmode/lists"}