如何配置package.json从GitHub直接安装指定Expo包?
解决从Expo GitHub仓库子目录安装包的问题
我来帮你搞定这个问题!你之前的package.json配置格式不对,所以npm还是拉取了npm上的发布版本。要直接安装Expo仓库子目录里的包,得用npm支持的GitHub子目录安装格式。
正确的package.json配置方式
你只需要把expo-blur的依赖改成下面两种格式中的任意一种:
方式1:使用npm的github:协议(推荐)
"dependencies": { // ... 其他依赖 "expo-blur": "github:expo/expo#master:packages/expo-blur" }
方式2:使用完整的Git URL
"dependencies": { // ... 其他依赖 "expo-blur": "git+https://github.com/expo/expo.git#master:packages/expo-blur" }
这里的#master指定了要拉取的分支,:packages/expo-blur就是仓库里对应包的子目录路径,和你提供的仓库位置完全匹配。
后续操作确保生效
配置好之后,记得执行以下步骤,避免缓存影响:
- 删除项目根目录下的
node_modules文件夹 - 删除
package-lock.json(如果用npm)或者yarn.lock(如果用Yarn) - 重新运行
npm install或者yarn install
这样npm就会从Expo的GitHub仓库拉取packages/expo-blur目录下的最新代码,而不是npm上的旧版本了。
小提醒
如果后续Expo仓库的默认分支从master改成了main,记得把配置里的#master换成#main,避免拉取不到正确的代码。另外,这种方式安装的包可能没有预构建的二进制文件,如果你遇到构建问题,需要确保本地有对应的开发环境(比如Android Studio、Xcode相关工具)来支持本地构建。
内容的提问来源于stack exchange,提问作者user473453
相关产品推荐
相关产品推荐

