Angular CLI无法识别正确Node.js版本问题求助
问题原因及解决方法
原因分析
- 你当前用户通过nvm管理的Node.js版本是v18.10.0,但使用
sudo执行ng命令时,会切换到root用户环境。root用户未配置nvm,默认调用系统自带的旧版本Node.js(v12.22.9),这就导致Angular CLI检测到的Node版本不满足要求。 - nvm是用户级工具,仅对当前登录用户生效,root用户的环境变量里没有nvm的相关配置,无法识别你当前用户安装的高版本Node。
解决方法
- 优先方案:不用sudo执行ng命令
直接运行ng generate login即可。Angular CLI生成组件不需要root权限,若提示权限问题,说明你的项目目录权限配置有问题,可调整目录权限让当前用户拥有读写权限:sudo chown -R $USER:$USER /path/to/your/angular-project - 若必须用root执行
切换到root用户后,重新安装配置nvm,或者手动指定高版本Node的路径来执行ng命令,但这种方式不推荐,容易引发环境不一致问题。
内容的提问来源于stack exchange,提问作者Lorteau Erwan
相关产品推荐
相关产品推荐

