通常情况下只需要官网nodejs的安装套件一键安装即可包含nodejs框架和npm命令行
部分由于系统其他工具依赖预先安装了nodejs环境导致版本老旧,需要手动升级,需要以下nodejs - npm版本匹配
https://nodejs.org/zh-cn/download/releases/
清理默认全局【C:\Users\用户名\AppData\Roaming\npm】或者自定义的全局目录下的npm安装文件和缓存文件
安装nodejs套件
计算机--右键属性--高级系统设置--环境变量
更改全局执行路径PATH
1、创建自定义npm运行目录,修改npm安装组件和缓存目录到nodejs安装目录下
npm config set prefix "D:\nodejs\node_global"
npm config set cache "D:\nodejs\node_cache"
2、 使用国内镜像,npm安装cnpm或者nrm皆可
npm install -g cnpm --registry=https://registry.npm.taobao.org
或
npm install nrm -g
注:问题1:不是内外部命令,也不是可运行程序可处理程序
解决1:环境变量PATH添加到npm目录下
问题2:nrm脚本运行报错
internal/validators.js:124
throw new ERR_INVALID_ARG_TYPE(name, 'string', value);
^
[TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined
at validateString (internal/validators.js:124:11)
at Object.join (path.js:375:7)
at Object.<anonymous> (D:\nvm\v14.15.4\node_modules\nrm\cli.js:17:20)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
at internal/main/run_main_module.js:17:47
] {
code: 'ERR_INVALID_ARG_TYPE'
}
解决2:运行环境引起的,windows下修改下默认环境,找到npm目录下的nrm脚本,到nrm文件夹安装位置,打开cli.js 第17行修改成
//const NRMRC = path.join(process.env.HOME, '.nrmrc'); (删除)
const NRMRC = path.join(process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'], '.nrmrc');
3、nrm自选用npm源