安装问题:找不到模块Yarn

9
今天我决定安装yarn,并尝试使用“npm i -g”和“brew install”进行安装。然而,每当我运行“yarn -v”时,就会出现以下错误:
node:internal/modules/cjs/loader:936
  throw err;
  ^

Error: Cannot find module '/Users/franciscomendes/.yarn/releases/yarn-berry.cjs'
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:79:12)
    at node:internal/main/run_main_module:17:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}

当我运行which yarn命令时(通过HomeBrew安装),出现的路径如下:
/usr/local/bin/yarn

当我使用 which .yarn 在终端中寻找 .yarn 时,会出现以下内容:

.yarn not found

如果我使用npm进行全局安装并列出我的全局依赖项,注意到我有1.22.11版本,但错误仍然存在。
/Users/franciscomendes/.npm-global/lib
├── autocannon@7.0.5
├── clinic@8.0.1
├── expo-cli@4.5.2
├── npm-check-updates@11.4.1
├── npm@
├── serve@12.0.0
└── yarn@1.22.11

当我运行which yarn命令时,出现了以下路径:

/Users/franciscomendes/.npm-global/bin/yarn

您有解决这个问题的方案吗?

P.S.:顺便说一下,Node和npm正常工作(以及其他工具)。


你是在尝试安装Yarn 3还是更常用的版本1? - Dominik
我想使用版本1。 - learnbydoing
Yarn将其版本3称为“berry”,这就是我认为您可能正在此处安装3的原因。 https://formulae.brew.sh/formula/yarn表示版本1是最新版本,因此运行“brew install yarn”应安装1。您使用什么命令安装yarn? (还要确保在运行安装之前运行“brew update”) - Dominik
我注意到了。但是我不明白为什么 yarn 命令根本无法工作。如果我使用 npm 全局安装,yarn 版本为 1.22.11。但是,我遇到了完全相同的问题。 - learnbydoing
which 命令只适用于 PATH 中的文件(通常是可执行文件)。 - Codebling
3个回答

44

检查你的仓库中是否有一个 .yarnrc 文件,如果有,请将其删除并尝试运行 yarn 命令,这样应该就可以正常工作了。


0

执行 which yarn 命令,如果路径包含 .yarn,则进入该路径,删除所有 .yarn 和 .yarnrc.yml 文件。


-1
ll -a ~
rm -fdr .yarnrc.yml
curl -o ~/.yarn/releases/yarn-1.22.19.cjs \ https://repo.yarnpkg.com/1.22.19/packages/yarnpkg-cli/bin/yarn.js`

2
你的回答可以通过添加更多关于代码的信息以及它如何帮助提问者来改进。 - Tyler2P
1
实际上,调用 https://repo.yarnpkg.com/1.22.19/packages/yarnpkg-cli/bin/yarn.js 会返回一个 404 Not found 错误消息。因此,你最终会得到一个名为 yarn-1.22.19.cjs 的文件,其内容为 "404 Not Found",因为该 curl 命令将该 URL 请求的响应插入到 cjs 文件中。 顺便说一下,你的 cjs 文件路径可能不同。 - Anna Costalonga

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接