![](/img/trans.png)
[英]error Your lockfile needs to be updated, but yarn was run with `--frozen-lockfile`
[英]Yarn - Command yarn import error: This package doesn't seem to be present in your lockfile; try to make an install to update your resolutions
我正在寻找在我的项目中一起使用 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)
我已经运行$yarn set version berry
并一次又一次地尝试了删除node_modules
目录、运行npm install
等的不同组合,但没有任何东西可以让它工作......不知道缺少什么。
这可能是 Node.js 版本或我正在使用的任何其他组件的问题吗?
这里的问题似乎是其中一个工作空间内的现有yarn.lock
文件。 删除它可以解决问题。
示例:3 个工作区:2 个 create-react-app ( app
, home
) 和一个共享组件:( components
)
在component
文件夹中存在一个挥之不去的yarn.lock
文件。 去掉它。
还要检查:
"private": true
在他们的每个package.json
(与name
、 private
、 source
相同的级别)。package.json
的"workspaces"
键中添加了工作区yarn workspaces myworkspace
myworkspace
时,它的package.json
与您的工作区名称匹配。 在我的例子中, components
文件夹内的工作空间的名称称为@schon/components
,所以我需要将其命名为yarn worksapces @schon/components
。我也遇到过同样的情况。
删除 yarnrc.yml 并且它起作用了。
ls -a
rm .yarnrc.yml
它对我有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.