HarmonyOS鸿蒙Next中@react-native-ohos/react-native-push-notification安装报错
HarmonyOS鸿蒙Next中@react-native-ohos/react-native-push-notification安装报错 【问题描述】:https://gitcode.com/OpenHarmony-RN/usage-docs/blob/master/zh-cn/react-native-push-notification.md 这个库在安装报错error Couldn’t find package “@react-native-ohos/react-native-push-notification” on the “npm” registry.
npm网站上面也搜不到这个库
【问题现象】:

更多关于HarmonyOS鸿蒙Next中@react-native-ohos/react-native-push-notification安装报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html
尊敬的开发者,您好,此三方库react-native-push-notification目前已对外发布,请您重新运行下此命令:
npm install @react-native-ohos/react-native-push-notification
重新安装下相关依赖,如果还是不能解决您的问题,麻烦您提供下日志信息。
更多关于HarmonyOS鸿蒙Next中@react-native-ohos/react-native-push-notification安装报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
我这边实测 npm 上存在该包,但当前只有 beta:npm view @react-native-ohos/react-native-push-notification versions --json 返回 8.1.2-beta.2。先确认 registry 是 https://registry.npmjs.org/,再安装:npm i @react-native-ohos/react-native-push-notification@8.1.2-beta.2。
地址是这个:[https://www.npmjs.com/package/@react-native-ohos/react-native-push-notification](https://www.npmjs.com/package/@react-native-ohos/react-native-push-notification)
你超前了。再试。

你好,可按下面步骤,可以正确安装:
1、先查看当前的npm配置:
npm config list
2、切换回官方 npm 源:
npm config set registry https://registry.npmjs.org/
3、再重新安装:
npm install @react-native-ohos/react-native-push-notification
这个问题其实不是你安装姿势的问题,而是这个包大概率已经不存在了,或者文档写错了。
你现在安装的是:
npm install @react-native-ohos/react-native-push-notification
但 npm 已经明确返回 404:
404 '@react-native-ohos/react-native-push-notification@*' is not in this registry
我这边查了下,npm 上确实搜不到这个包。
目前 OpenHarmony / RN OHOS 生态里,推送相关并不是这个名字,很多老文档已经失效了,GitCode 上的一些 usage-docs 文档也有“仓库已迁移 / 包名变化 / 未发布到npm”的情况。
你这个文档:
https://gitcode.com/OpenHarmony-RN/usage-docs/blob/master/zh-cn/react-native-push-notification.md
里面引用的包名,应该是历史遗留名称。
目前实际存在的是:
@react-native-ohos/push-notification-ios
这个包 npm 上是能查到的。
但它其实只是 iOS push notification 兼容层,并不是完整的 react-native-push-notification OHOS 版本。
所以现在本质问题是:
@react-native-ohos/react-native-push-notification根本没有发布到 npm- 文档已经过期
- OpenHarmony RN 的很多三方库实际上只在 GitCode/Gitee 存在源码,没有正式 npm 包
- 有些库需要:
- 手动 git clone
- 本地 file: 引用
- 或者自己编译 bridge
不是直接 npm install 就能用
你可以先确认两件事:
第一种方案(推荐)
直接使用官方 HMS Push Kit,而不是 react-native-push-notification。
因为 RN OHOS 生态现在推送库维护情况比较一般,很多项目最后都是:
RN JS层
↓
TurboModule / NativeModule
↓
Harmony 原生 HMS Push Kit
自己桥接。
第二种方案
去 GitCode 找源码仓库,手动引入。
很多 OpenHarmony RN 库实际上要这样装:
"dependencies": {
"@xxx/xxx": "file:./libs/xxx"
}
或者:
npm install git+https://xxxx.git
而不是 npm registry。
另外你这个报错和网络、npm源没有关系。
因为:
404 Not Found
说明 npm registry 里压根不存在这个包。
如果是网络问题一般会是:
ERR_SOCKET_TIMEOUT
ECONNRESET
500
不是 404。
建议你现在别继续折腾 npm 源了,没意义 😂
直接换思路:
- 要么自己封装 HMS Push Kit
- 要么换目前还在维护的 OHOS RN 推送方案
- 要么直接找对应 GitCode 仓库源码手动接入
这个更靠谱。
之前该库可能仍处于开发或内部测试阶段,因此未在公共仓库上架。建议你访问OpenHarmony-RN的源码仓库,查看该库的 package.json 或发布页面,确认是否有可用的安装包(如 .tgz 文件)可供本地安装。
该报错通常因以下原因之一:
@react-native-ohos/react-native-push-notification依赖的 OHOS SDK 版本与当前鸿蒙Next不匹配。- 缺少
ohpm依赖配置(如@ohos/push模块未安装)。 - 未在
entry模块的module.json5中声明推送权限。
请检查 oh-package.json5 中依赖版本,确保与鸿蒙Next兼容;确认已执行 ohpm install 并添加 ohos.permission.PUSH 权限。
该库[@react-native-ohos](/user/react-native-ohos)/react-native-push-notification并未发布到公共npm registry,因此直接安装会提示找不到。该库是OpenHarmony RN适配专有包,仅存在于OpenHarmony的私有npm仓库或对应的GitCode仓库中。
可通过以下两种方式安装:
-
配置npm私有源(推荐):在项目根目录
.npmrc中添加:[@react-native-ohos](/user/react-native-ohos):registry=https://repo.harmonyos.com/npm/然后正常执行
npm install。 -
直接从GitCode安装:
npm install git+https://gitcode.com/OpenHarmony-RN/react-native-push-notification.git
安装后按官方文档完成原生侧配置即可。

