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更新没有发生的主要内容,如果未能解决你的问题,请参考以下文章

expo 未被识别为内部或外部命令

如何更新全局安装的 npm 包

NativeModule:AsyncStorage 与 Expo 为空

如何修复安装 expo-cli

Expo React-Native Android 版本未更新 Google Play 的版本代码

由于我更新了 expo-sdk,我无法运行我的 expo 项目