{"id":22188912,"url":"https://github.com/qwreey/fnvm","last_synced_at":"2025-03-24T20:16:36.520Z","repository":{"id":172167881,"uuid":"648911426","full_name":"qwreey/fnvm","owner":"qwreey","description":"Make nvm MUCH faster in cygwin by hacking nvm","archived":false,"fork":false,"pushed_at":"2024-01-26T23:03:21.000Z","size":158,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-30T00:32:08.252Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/qwreey.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-03T07:09:15.000Z","updated_at":"2023-11-21T19:26:39.000Z","dependencies_parsed_at":"2023-11-20T19:46:25.755Z","dependency_job_id":"e1804520-e4a6-4906-b818-5ea46852ed22","html_url":"https://github.com/qwreey/fnvm","commit_stats":null,"previous_names":["qwreey75/fnvm","qwreey/fnvm"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qwreey%2Ffnvm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qwreey%2Ffnvm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qwreey%2Ffnvm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qwreey%2Ffnvm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qwreey","download_url":"https://codeload.github.com/qwreey/fnvm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245344005,"owners_count":20599867,"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-12-02T11:13:12.327Z","updated_at":"2025-03-24T20:16:36.485Z","avatar_url":"https://github.com/qwreey.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# What is fnvm?\r\n\r\n\u003cdiv align=center\u003e\r\n\r\n![](images/how_nvm_slow_is.png)\r\n\r\nwow nvm takes almost 2 seconds to initialize!\r\n\r\n\u003c/div\u003e\r\n\r\nfnvm is some hacky method that makes nvm much faster in cygwin.  \r\nIn cygwin, nvm makes bash slower. even it takes 2~10 second to initialize  \r\nfnvm using ~/.nvmrc.cached which created by user and contain cached node version to set PATH directly without calling nvm's version resolver which is very slow due to checking system installed nodejs and iojs, resolving all of installed nodes.  \r\n\r\nIt also includes auto version changing when change cwd  \r\n\r\n![](images/using_fnvm.png)\r\n\r\n# Installation\r\n\r\nIf nvm is not installed, install nvm first\r\n```\r\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash\r\n```\r\n\r\nNext, install fnvm\r\n```\r\ngit clone https://github.com/qwreey75/fnvm.git ~/.fnvm --depth 1\r\nsource ~/.fnvm/fnvm.sh; FNVM_DIR=~/.fnvm fnvm_update\r\n```\r\n\r\nDone! If you want update fnvm, simply type `fnvm_update`\r\n\r\n# Configure\r\n\r\nyou can insert these setting above `source $HOME/.nvm/fnvm/fnvm.sh; fnvm_init` in your rc file\r\n\r\n```\r\nexport FNVM_DISABLE_CD=\"no\" # If this value is \"yes\". auto version changing will be disabled\r\n```\r\n\r\n[ -s \"$NVM_DIR/bash_completion\" ] \u0026\u0026 \\. \"$NVM_DIR/bash_completion\"  # This loads nvm bash_completion\r\n\r\n# How much fast is?\r\n\r\nIn cygwin, Normal nvm takes ~2 second, but fnvm only takes 0.2 second! Almost ten times faster then normal nvm.\r\n\r\n![](images/speed.png)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqwreey%2Ffnvm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqwreey%2Ffnvm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqwreey%2Ffnvm/lists"}