@angular-cli 安装失败,请求被弃用@2.88.2:请求已被弃用(mac)
Posted
技术标签:
【中文标题】@angular-cli 安装失败,请求被弃用@2.88.2:请求已被弃用(mac)【英文标题】:@angular-cli install fails with deprecated request@2.88.2: request has been deprecated (mac) 【发布时间】:2020-05-30 18:29:06 【问题描述】:将 node.js 和 npm 更新到当前 LTS 后:
node -v
v12.16.0
npm -v
6.13.4
当我尝试按照the documentation 中的步骤安装@angular-cli 时,运行npm install -g @angular/cli
在终端停止安装,控制台输出为:
npm install -g @angular/cli
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
/Users/user/.npm-global/bin/ng -> /USERS/USER/.npm-global/lib/node_modules/@angular/cli/bin/ng
> @angular/cli@9.0.2 postinstall /USERS/USER/.npm-global/lib/node_modules/@angular/cli
> node ./bin/postinstall/script.js
+ @angular/cli@9.0.2
updated 1 package in 12.202s
在这种情况下,ng new project-name
产生-bash: ng: command not found
。任何帮助都会非常受欢迎,因为我有一个大项目即将到来。
谢谢大家。
【问题讨论】:
【参考方案1】:您遇到的问题与您在控制台ref 中看到的npm warning
无关。似乎更有可能是您的机器上的权限问题或 NodeJS 安装问题或两者兼而有之。
我建议首先完全删除您的 NodeJS 安装,然后安装 NVM 来管理您的 NodeJS 实例:
Mac/Linux:https://github.com/nvm-sh/nvm Windows:https://github.com/coreybutler/nvm-windows安装完 NVM 后,尝试安装 Angular CLI:
npm install @angular/cli -g
希望对你有帮助!
更新:您也可以查看issue
【讨论】:
您好,感谢您的精彩回复! Unfotunatley 这不起作用,因为在运行ng new
终端时仍会打印出 -bash: ng: command not found
。这很奇怪,因为我已经卸载并重新安装了 node.js 和 angular-cli。也许这是计算机上的权限问题?
@BenMordechai 你现在在使用 NVM 吗?
是的,我已经安装了 nvm 并检查了它的安装
@BenMordechai 你在安装 NVM 之前删除了 nodejs 安装吗?另请查看此问题github.com/angular/angular-cli/issues/503【参考方案2】:
很遗憾,请求包已弃用。 根据 Mikeal Rogers(请求的创建者)的说法,请阅读此 link
更多信息,你可以阅读这个article
【讨论】:
【参考方案3】:我删除了“node_modules”文件夹和“package-lock.json”文件,然后执行以下两个命令:
npm init
npm install
然后,它工作正常。
【讨论】:
【参考方案4】:我尝试清理缓存,它对我有用。
npm cache clean --force
【讨论】:
【参考方案5】:现在完全弃用包请求。所以这可能需要一段时间才能改变。我认为解决方案是让 Angular cli 发布不依赖于请求的新版本。
【讨论】:
请求仍然得到维护并且工作正常。此问题与已弃用的请求无关【参考方案6】:卸载和安装angular cli
对我来说很好。
【讨论】:
【参考方案7】:$brew 安装 angular-cli
安装了angular9.0.3(稳定) 这取决于node13.08.0
https://formulae.brew.sh/formula/angular-cli
【讨论】:
【参考方案8】:我在 Angular 9 项目中遇到了同样的问题,我只是从旧的 Angular 项目中复制粘贴的 node_modules 文件夹,我工作正常,如果没有成功,请尝试这种方式。但是如果你执行 npm install 也会遇到同样的问题,请不要这样做。
【讨论】:
【参考方案9】:如documentation 中所述,使用 Windows 10 机器,在带有 NodeJS 和 npm 包管理器的机器上安装 Angular CLI
node -v
# v12.16.0
npm -v
# 6.13.4
第一次运行
npm install -g @angular/cli
收到了与你类似的消息
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
C:\Users\tiago\AppData\Roaming\npm\ng -> C:\Users\tiago\AppData\Roaming\npm\node_modules\@angular\cli\bin\ng
> @angular/cli@10.0.0 postinstall C:\Users\tiago\AppData\Roaming\npm\node_modules\@angular\cli
> node ./bin/postinstall/script.js
+ @angular/cli@10.0.0
added 269 packages from 206 contributors in 97.901s
然后,当第二次运行时,该消息与您的匹配(注意最后一行现在不是added 269 packages
;而是updated 1 package
)。
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
C:\Users\tiago\AppData\Roaming\npm\ng -> C:\Users\tiago\AppData\Roaming\npm\node_modules\@angular\cli\bin\ng
> @angular/cli@10.0.0 postinstall C:\Users\tiago\AppData\Roaming\npm\node_modules\@angular\cli
> node ./bin/postinstall/script.js
+ @angular/cli@10.0.0
updated 1 package in 8.691s
如果我然后输入
ng --version
我没有遇到像你这样的错误。反而得到了如下结果
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/
Angular CLI: 10.0.0
Node: 12.16.0
OS: win32 x64
Angular:
...
Ivy Workspace:
Package Version
------------------------------------------------------
@angular-devkit/architect 0.1000.0
@angular-devkit/core 10.0.0
@angular-devkit/schematics 10.0.0
@schematics/angular 10.0.0
@schematics/update 0.1000.0
rxjs 6.5.5
这表明它实际上并没有失败,而是安装了 Angular CLI。
事实上,当我运行时(用 cd 到 C:/Users/tiago/Desktop/angular)
ng new my-app
我的应用程序已创建
并且可以提供(使用 cd 到 my-app)
ng serve --open
我可以看到以下页面,这意味着安装和设置成功。
因此,根据您使用-bash: ng: command not found
的情况,这可能意味着NodeJS 没有正确安装(我会reinstall it)。如果那还不能解决,我以前见过另一个solution to that problem;只需按照以下步骤操作
-
从系统中删除节点
安装NVM
通过 NVM 安装节点:nvm install stable
运行
npm install -g @angular/cli
【讨论】:
【参考方案10】: npm 缓存清理 --forcenpm install -g @angular/cli
npm install mkdirp
npm 缓存验证
关闭终端并再次打开
ng new newApp
它可以解决这个问题......
快乐编码
【讨论】:
【参考方案11】:如果您在 Windows 机器上遇到问题。
只需在命令中提及 cli 版本即可。
npm i @angular/cli@8.1.0
这对我有用。
此外,如果遇到以下问题,您可能需要设置路径变量
'ng' is not recognized as an internal or external command, operable program or batch file
【讨论】:
【参考方案12】:试试,
sudo npm install -g @angular/cli
这解决了我在 mac 中的问题
【讨论】:
以上是关于@angular-cli 安装失败,请求被弃用@2.88.2:请求已被弃用(mac)的主要内容,如果未能解决你的问题,请参考以下文章
为什么Eclipse中的FreeMarker IDE氧气JBoss工具4.5.2.Final已被弃用?