You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

移除Cordova更新插件后Ionic 5构建Android项目报错:'Device@latest'不在npm注册表中

解决Ionic 5 + Cordova构建Android时'Device@latest'不在注册表的错误

我来帮你搞定这个问题!这个错误的根源很清晰:你项目里引用的Device插件名称用了大写字母,而当前npm注册表已经严格禁止包名包含大写字符,而且正确的Cordova设备插件名称是全小写的cordova-plugin-device。

下面是一步步的解决步骤:

1. 修正插件配置文件中的错误引用

首先要检查项目里的两个核心配置文件,把错误的Device引用替换成正确的插件名:

  • 打开项目根目录下的config.xml,查找是否有类似 <plugin name="Device" ... /> 的条目,将其修改为:
    <plugin name="cordova-plugin-device" spec="^2.1.0" />
    
    (spec的值可以根据需要换成最新版本号,或者保留当前兼容的版本)
  • 打开package.json文件,检查dependencies里是否有"Device"相关的依赖项,同样替换为:
    "cordova-plugin-device": "^2.1.0"
    

2. 清理并重新安装正确的插件

在终端执行以下命令,先移除错误的插件残留,再安装正确的版本:

# 移除错误的Device插件(如果项目中还存在的话)
cordova plugin remove Device

# 安装官方正确的设备插件
cordova plugin add cordova-plugin-device

3. 重新构建Android项目

最后清理构建缓存并重新执行构建:

cordova clean android
cordova build android --device

补充说明

这个问题大概率是因为你之前移除更新插件后,项目配置里残留了旧的、不规范的插件名称引用。早期Cordova插件对名称大小写的限制没这么严格,但现在npm和Cordova都要求插件名称必须符合npm的包命名规范(全小写、用连字符分隔),所以Device这种写法已经不被支持了,必须使用官方标准的cordova-plugin-device。

内容的提问来源于stack exchange,提问作者Nelson Chadali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 20:07:29