nvm安装后cnpm不是内部或外部命令丨技术开发分享录

nvm安装后cnpm不是内部或外部命令

{{ detail.nickname }}

转载 翻译 {{ formatTime(detail.create_time) }} 字数 {{ detail.content && detail.content.length }} 阅读 {{ detail.read_num }} {{ formatTag(v) }}

"因为安装 `nodejs` 会捆绑安装 `npm`,而且 `npm` 命令依赖 `node.exe`,所以在使用 `npm` 安装全局包时候才能全局使用,如: \n\n```cli\n> npm install cnpm -g\n> cnpm -v\n \n```\n\n而使用 `nvm` 安装不同版本的 `nodejs`,在切换的时候,其对应的全局包就需要对应下载,这样才能全局使用,否则会提示不是内部或外部命令\n\n示例:如安装了以下两个nodejs版本\n\n- 10.15.3\n- 12.3.1\n\n可以通过蠢方式,对应建两个批量处理文件,修改 `npm` 安装全局包路径及缓存路径,来对应维护,但缺点是同样的东西要维护两份\n\nnodejs10.15.3.bat\n\n```bat\ncall npm config set prefix \"C:\\Users\\tom\\AppData\\Roaming\\nvm\\v10.15.3\"\ncall npm config set cache \"C:\\Users\\tom\\AppData\\Roaming\\nvm\\v10.15.3\\npm-cache\"\ncall nvm use 10.15.3\nexit\n```\n\nnodejs12.3.1.bat\n\n```bat\ncall npm config set prefix \"C:\\Users\\tom\\AppData\\Roaming\\nvm\\v12.3.1\"\ncall npm config set cache \"C:\\Users\\tom\\AppData\\Roaming\\nvm\\v12.3.1\\npm-cache\" \ncall nvm use 12.3.1\nexit\n```\n\n查看 `npm` 所有配置\n\n```cli\n> npm config list\n; cli configs\nmetrics-registry = \"https://registry.npmjs.org/\"\nscope = \"\"\nuser-agent = \"npm/6.4.1 node/v10.15.3 win32 x64\"\n\n; userconfig C:\\Users\\tom\\.npmrc\ncache = \"C:\\\\Users\\\\tom\\\\AppData\\\\Roaming\\\\nvm\\\\v10.15.3\\\\npm-cache\"\nprefix = \"C:\\\\Users\\\\tom\\\\AppData\\\\Roaming\\\\nvm\\\\v10.15.3\"\n\n; node bin location = d:\\Program Files\\nodejs\\node.exe\n; cwd = C:\\Users\\tom\n; HOME = C:\\Users\\tom\n; \"npm config ls -l\" to show all defaults.\n```\n\n当然也有其他方式,如:创建一个公共的用于存放 `npm` 的地方,然后安装全局 `npm` 及相关依赖包,再配置环境变量这种。"
PS:写作不易,如要转裁,请标明转载出处。

如果此篇对您有帮助,可小额赞助,以兹鼓励!

猜你想看