Expo cli更新没有发生
Posted
技术标签:
【中文标题】Expo cli更新没有发生【英文标题】:Expo cli update not happening 【发布时间】:2019-10-14 21:05:43 【问题描述】:我正在尝试将 expo-cli 从 2.11 升级到 2.18,但 npm i -g expo-cli@latest
仍然指向旧版本。
当我输入 expo-cli -V
时,结果是:
2.11 ...所以自然而然 npm i -g expo-cli@latest 会抓取最新版本并安装它,但 expo-cli -v 仍然指向旧版本。
我记得在 bash 级别安装包是一个不可行的操作。
这些是一些图像,可以将其全部放在上下文中:
更新:删除了第一个答案中建议的 Nodes 模块,并且使用命令 where
找不到导致 npm 删除的 expo 和 expo-cli
【问题讨论】:
【参考方案1】:孔系统的行为很奇怪!,npm
应该与node
一起安装,但找不到。
我不得不删除节点并重新安装它,然后我不得不再次安装 expo-cli,所有错误都消失了。
【讨论】:
【参考方案2】:当 npm 不能以简单的方式工作时,--force
它!
npm install -g expo-cli --force
【讨论】:
【参考方案3】:如果您使用的是 Mac,这 2 个命令可以解决问题 1)which expo 在你的 Mac 中找到 expo,它会给你这个“/usr/local/bin/expo” 2) "cd /usr/local/bin/" 3)-rm 博览会 4)-rm expo-cli
【讨论】:
以上提示有效,因为您要删除 both expo 和 expo-cli。不过,无需cd
进入目录。 rm -rf /usr/local/bin/expo
, rm -rf /usr/local/bin/expo-cli
【参考方案4】:
在全球范围内更新 expo-cli 可能会很痛苦。对于那些遇到这种挫败感的人,请使用 yarn
yarn global add expo-cli
它会让你的头痛大大减少
【讨论】:
yarn global add expo-cli 这行得通,因为你让旧版本的 expo 垃圾在你的 NPM 目录中,而只是安装到 Yarn 中,最终在你的计算机上产生了更多的垃圾。 我只用了 30 分钟与 npm 对抗 expo-cli,然后因为它无缝安装在 yarn 中而感到高兴 相同,无法用 nom 修复它,即使遵循“which expo-cli”的建议。纱线解决了它【参考方案5】:对于mac用户(linux应该很相似):
查找您的 expo-cli 版本:
which expo-cli
对我来说它产生了:
/Users/username/.config/yarn/global/node_modules/.bin/expo-cli
删除这个过时的版本:
rm -rf /Users/username/.config/yarn/global/node_modules/.bin/expo-cli
检查您使用的是最新版本:
expo-cli --version
【讨论】:
【参考方案6】:更新到最新版本的 Expo CLI: npm i -g expo-cli。需要 expo-cli@4.7.2 或更高版本。 如果您使用它,请更新到最新版本的 EAS CLI: npm i -g eas-cli。 在您的项目目录中运行 expo upgrade。
参考:https://docs.expo.dev/workflow/upgrading-expo-sdk-walkthrough/
【讨论】:
【参考方案7】:不更新 expo-cli 的原因不止一个。
原因 1 - 您可能使用 yarn 安装了 expo-cli,一段时间后您需要更新并使用 npm npm install -g expo-cli
它会更新,但是当您运行 expo 时,它可能指向该 yarn 版本所以要解决这个问题,你需要运行yarn global remove expo-cli
。
原因 2 - 您可能有两个版本的 expo-cli,一个是全局版本,另一个在您的项目文件夹/路径中,所以即使您在全局范围内升级 expo-cli,您的项目仍然指向项目文件夹中的第一个类版本。要解决此问题,您需要卸载项目文件夹中存在的 expo-cli 以指向全局版本,您可以使用此命令执行此操作 npm uninstall expo-cli
notice 而无需 -g
。
reson 3 - 有时您需要清理 npm 缓存。如果以上对您不起作用,请尝试使用 npm uninstall -g expo-cli
卸载 expo-cli,然后运行此命令 npm cache clean --force
然后再次安装 expo-cli npm install -g expo-cli
。
【讨论】:
【参考方案8】:在 MacOS 上(Linux 应该非常相似):
找到expo-cli版本的位置:
which expo-cli
你可能会得到:
/usr/local/bin/expo-cli
使用以下方法删除此过时版本:
rm -rf /usr/local/bin/expo-cli
然后安装最新版本:
npm install -g expo-cli
之后,检查您使用的是最新版本:
expo-cli --version
【讨论】:
以上是关于Expo cli更新没有发生的主要内容,如果未能解决你的问题,请参考以下文章
NativeModule:AsyncStorage 与 Expo 为空