$ yarn install 导致找不到模块 yarn-berry.js

Posted

技术标签:

【中文标题】$ yarn install 导致找不到模块 yarn-berry.js【英文标题】:$ yarn install leads to Cannot find module yarn-berry.js 【发布时间】:2020-10-08 20:53:26 【问题描述】:

新的反应并且在使用 yarn install 命令时遇到问题,我收到以下错误:

Error: Cannot find module '/Users/MacPro/Desktop/Developer/React/.yarn/releases/yarn-berry.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:1029:15)
at Function.Module._load (internal/modules/cjs/loader.js:898:27)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
at internal/main/run_main_module.js:17:47   code:'MODULE_NOT_FOUND',  requireStack: []

任何与 yarn 函数相关的东西都会返回这个错误。已尝试通过自制软件卸载并重新安装,但总是会导致这种情况。 npm install -g yarn 表示它也已更新和安装。

有什么帮助吗?

此外,它在几周前运行良好。

提前谢谢你。

【问题讨论】:

这很可能意味着您的应用程序没有使用 PnP 解析器运行,这意味着您的 require 调用将无法从您的依赖项中加载文件(因为常规节点解析所需的 node_modules 胜出'尚未生成)。确保使用 NODE_OPTIONS="--require /path/to/.pnp.js" 运行代码或使用 yarn node 调用它。 尝试在您的package.json 中设置"type": "module" 不幸的是,这些都不起作用。即使是 yarn version 命令也会导致这个错误,其他所有使用 yarn 的命令也是如此。我总是可以使用 npm,但这把我逼到了墙角。 【参考方案1】:

好吧,我猜你和我一样没有阅读完整的 Yarn 文档。 要摆脱这种情况:

    删除项目中的.yarnrc.yml 文件 再次配置Yarn 2:yarn set version berry 根据 Yarn 文档配置您的 .gitignore 文件:https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored

如果您像我一样不想将 1000 多个依赖文件提交到您的存储库,请将这些行添加到您的 .gitignore 文件中:

.yarn/*
!.yarn/patches
!.yarn/releases
!.yarn/plugins
!.yarn/sdks
!.yarn/versions
.pnp.*

之后,您的提交应包含:

更新的.yarnrc.yml 文件(如果文件没有更改,则没有) .yarn/releases/yarn-berry.js 文件(也许它被命名为 yarn-berry.cjs,重要的是该文件与您的 .yarnrc.yml 文件中包含的内容匹配)

【讨论】:

【参考方案2】:

RU 确定你在全球范围内安装了 yarn 吗?试试npm install yarn -g。如果您是 Windows 用户,只需从名为 .msi 的网站下载 yarn。

【讨论】:

是的。它全局安装,但之后的任何纱线命令总是返回上述错误消息。 “找不到模块.. yarn-berry.js。”奇怪的是,我所有的其他应用程序都可以使用经过测试的纱线。使用 create-react-app 创建的任何新内容(最近 3 天内)都不适用于 yarn。 :// @user3281858 是的,你应该 npx create-react-app 并卸载 yarn 并尝试 npm install -g yarn@berry @farukbigez 我正面临着确切的问题。运行 npm install -g yarn@berry 会产生以下错误 Internal Error: The "yarn-path" option has been set...but the specified location doesn't exist (/home/[username]/.yarn/releases/yarn-berry.cjs).【参考方案3】:

我认为您尝试将 Yarn 的版本更新到版本 2,方法是模糊地遵循(就像我一样)此处的教程:https://yarnpkg.com/getting-started/migration

也许你意识到你不喜欢 Yarn 2(不再喜欢 node_modules 文件夹了......真的是 Yarn?),卸载它,手动删除不同的文件,现在最终出现这个错误(至少是我的情况)。

您现在正尝试对 Yarn 1 进行全新安装,因为您仍然更喜欢它而不是 npm(就像我一样),您最终会收到那些疯狂的错误,告诉 Yarn 正在寻找一些您找不到的 Berry 东西,这个错误:

   node:internal/modules/cjs/loader:928
          throw err;
          ^
        
        Error: Cannot find module '/Users/Username/.yarn/releases/yarn-berry.cjs'

您必须先完全卸载 Yarn。 根据您安装它的方式:

npm uninstall -g yarn 

brew uninstall yarn

然后,这是最重要的部分,转到您的主文件夹(仅在 Mac 上)并列出隐藏文件夹

ls -al

您将有两个元素提到纱线: .yarnrc.yml 和 .yarnrc

键入以下内容以删除它们:

rm -rf .yarnrc

rm -rf .yarnrc.yml

完成后,使用 npm 或 brew 重新安装 Yarn:

npm install - g yarn

brew install yarn

应该是这样的。

【讨论】:

以上是关于$ yarn install 导致找不到模块 yarn-berry.js的主要内容,如果未能解决你的问题,请参考以下文章

npm install yarn 未安装/找不到命令

强制在纱线之前运行 npm install ?

在这个项目中找不到 expo - 你运行 yarn / npm install 了吗? npm 已安装,expo 目录存在

yarn2 rollup -c 找不到模块“react”

Lerna、yarn 和 Typescript:找不到模块或其对应的类型声明

带有 Yarn、TypeScript 和 React Native 的 Lerna:找不到模块“@project/common”或其对应的类型声明。ts(2307)