纱线 - 命令纱线导入错误:您的锁文件中似乎不存在此包;尝试进行安装以更新您的分辨率

Jor*_*Gil 12 node.js npm yarnpkg

我正在寻找在我的项目中同时使用 yarn 和 npm,如果我发现yarn对我的特定情况有用,我可以将我的项目移动到yarn仅使用。

不过,我收到以下错误$yarn import

local:project_middleware jgil$ yarn import

Internal Error: project-middleware@workspace:.: This package doesn't seem to be present in your lockfile; try to make an install to update your resolutions
at J.getCandidates (/Users/jgil/Development/BerserkerStudio/project_middleware/.yarn/releases/yarn-berry.cjs:2:325115)
at i.getCandidates (/Users/jgil/Development/BerserkerStudio/project_middleware/.yarn/releases/yarn-berry.cjs:2:314232)
at /Users/jgil/Development/BerserkerStudio/project_middleware/.yarn/releases/yarn-berry.cjs:2:335605
at Array.map (<anonymous>)
at Ae.resolveEverything (/Users/jgil/Development/BerserkerStudio/project_middleware/.yarn/releases/yarn-berry.cjs:2:335321)
at async Ae.applyLightResolution (/Users/jgil/Development/BerserkerStudio/project_middleware/.yarn/releases/yarn-berry.cjs:2:357937)
at async Ae.restoreInstallState (/Users/jgil/Development/BerserkerStudio/project_middleware/.yarn/releases/yarn-berry.cjs:2:357667)
at async Ke.execute (/Users/jgil/Development/BerserkerStudio/project_middleware/.yarn/releases/yarn-berry.cjs:2:98394)
at async Ke.validateAndExecute (/Users/jgil/Development/BerserkerStudio/project_middleware/.yarn/releases/yarn-berry.cjs:2:626801)
at async j.run (/Users/jgil/Development/BerserkerStudio/project_middleware/.yarn/releases/yarn-berry.cjs:17:3854)
Run Code Online (Sandbox Code Playgroud)

我已经运行$yarn set version berry并一次又一次地尝试使用删除node_modules目录,运行npm install等的不同组合,但没有任何东西可以使它工作......不知道缺少什么。

可能是 Node.js 版本或我使用的任何其他组件有问题吗?

Jos*_*e A 8

这里的问题似乎是yarn.lock其中一个工作区中的现有文件。删除它可以解决问题。

更多信息:

示例:3 个工作区:2 个 create-react-app ( app, home) 和一个共享组件: ( components)

文件夹结构

component文件夹yarn.lock内存在一个延迟文件。去掉它。

在此处输入图片说明

还要检查:

  1. 您的所有工作区都"private:true"在每个工作区中package.json(与nameprivate、相同的级别source)。
  2. 检查您是否已将工作区添加"workspaces"到主目录中的一个键中package.json
  3. 当您执行时yarn workspaces myworkspace myworkspace,在其package.json. 就我而言,components文件夹内工作区的名称称为@schon/components,因此我需要将其yarn worksapces @schon/components改为。

  • 从我的工作区目录中删除yarn.lock 文件为我解决了这个问题。答案值得接受! (2认同)

小智 8

我也出现同样的错误,我发现我加.yarnrc.yml错了。删除文件及其引用后,yarn-berry.cjs我有了解决方案并且项目运行了在此输入图像描述

  • 我遇到了相反的问题,在运行“yarn install”之前,我忘记将“.yarnrc.yml”文件复制到 Docker 中。我花了很多时间试图弄清楚为什么 Yarn 没有将某个包保存到磁盘,这就是为什么(在 Yarn 版本 2 中,如果你现在特别告诉它,Yarn 只会保存到 `node_modules` 文件夹);你提到的`.yarnrc.yml`终于让我意识到我的错误。:| (5认同)