spawn yarnpkg ENOENT

Wil*_*sas 6 node.js react-native yarnpkg expo

当我运行expo install expo-permissions时会发生这种情况

它明确地返回我

使用 Yarn 安装 1 个 SDK 35.0.0 兼容的本机模块。

yarn add expo-permissions@~7.0.0

spawn yarnpkg ENOENT

在您的环境中设置 EXPO_DEBUG=true 以查看堆栈跟踪。

这很奇怪,因为我通常不使用 Yarn。我使用 NPM 来安装依赖项。

我知道此错误与我的文件或某些路径配置不正确有关。我不知道的是我必须改变哪条路径以及如何改变。

请让我知道是否有任何其他相关信息我应该在这里添加。

小智 18

我遇到了和你一样的问题,我的解决方案,你通过 npm 安装了yarn:
npm i -g yarn
我相信这个错误是因为他找不到yarnpkg的符号链接。执行此命令时,纱线将被更新和链接。


小智 11

您可以在命令后传递标志 --npm 。

expo install [package-name] --npm
Run Code Online (Sandbox Code Playgroud)

  • 这是最好的答案,因为您不必安装 Yarn 来解决问题。只需将 arg --npm 添加到命令中即可,一切顺利。也适用于“expo update --npm”。 (2认同)

小智 11

最好的解决方案是使用--npm flag

例子:

expo install pkname --npm,
expo update --npm,
expo upgrade --npm,
Run Code Online (Sandbox Code Playgroud)

发生这种情况是因为您还没有执行yarn installyarn命令。


小智 9

是的,我尝试了很多方法,最后我找到了解决方案。问题是不同的纱线包版本。所以首先,你需要升级最新的yarn版本。

打开终端并输入以下内容。

  1. npm install --全局纱线

  2. 展会更新

希望这能解决您的问题。


Mau*_*cio 3

我有类似的问题。您应该yarn在您的系统中安装,因为这是 Expo CLI 尝试执行的安装包的操作。对我来说,我的问题是我确实有yarn,但我有一个旧版本。我必须将纱线版本更新到 1.19.0。如果您安装此版本,它应该可以正常工作。

我建议使用yvm来安装和管理不同版本的yarn。安装后yvm它就像安装yarn一样简单yvm install <version>,所以在这种情况下您会这样做yvm install 1.19.0。如果您必须更改版本,因为另一个项目无法与 1.19.0 兼容(有时会发生),您可以安装另一个版本并通过执行以下操作在版本之间进行更改yvm use <version>

希望这可以帮助!