What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Resolve conflicts in the human-edited manifest and source files first; then let the project’s own package manager repair or validate its lock or checksum data. A lockfile conflict is not safely fixed by choosing “ours” or “theirs” across the board: the files have different formats and meanings, and a one-sided choice can discard dependency changes from the other branch.
Before repairing a lockfile, identify what actually conflicted
Start by listing the conflicted files and checking the project’s documented package manager and version. The manifest records intended dependencies; the lock or checksum file records package-manager-specific resolution or integrity information. Those formats are not interchangeable. npm’s package-lock reference, Yarn’s Classic lockfile guidance, Poetry’s basic-usage documentation, and the Go Modules Reference describe different files and behaviors.
As an Amazon Associate I earn from qualifying purchases.
git status— identify every conflicted manifest, lockfile, and source file.- Check the repository’s setup documentation, scripts, and version pins to establish which package manager and generation of its lockfile the project expects. This matters especially for Yarn, whose Classic and modern formats and recovery guidance differ.
- Resolve source-code conflicts and dependency declarations in the manifest, such as
package.json,pyproject.toml, orgo.mod. Decide deliberately which additions, removals, and version constraints the merged project needs. - Only then repair the associated lock or checksum data with the matching tool.
Do not casually switch package managers or versions during this process: their handling of existing metadata can differ, and a generated result may not reflect the project’s intended dependency set.
Free tools Windows power users keep installed
One-click scans. No signup required.
Which recovery method fits each ecosystem?
| Files | What to resolve first | Recovery and validation | Important distinction |
|---|---|---|---|
package.json and package-lock.json |
Resolve package.json conflicts. |
Run npm install to update the lock; use npm install --package-lock-only to update only the lockfile. |
npm has an explicit recovery recipe, but the cited conflict page is legacy npm v6 documentation. |
package.json and yarn.lock |
Resolve the manifest and identify Yarn Classic or modern Yarn. | Classic: yarn install can write needed lock changes; yarn install --frozen-lockfile checks without updating the lock and fails if an update is needed. Modern Yarn’s YN0046 guidance is conflict-shape-sensitive. |
Lockfile formats and recovery behavior vary by Yarn generation. |
pyproject.toml and poetry.lock |
Resolve pyproject.toml dependency intent. |
Use the lock-generation or install workflow appropriate to the project’s installed Poetry version, then inspect the result and test. | The cited Poetry guide explains lockfile use but does not prescribe a dedicated conflict command. |
go.mod and go.sum |
Resolve go.mod requirements and source imports. |
Run go mod tidy, then review both files. |
go.sum is checksum data, not a conventional version lockfile. |
Repair package-lock.json with npm
Resolve the manifest, then regenerate the lock
Repair every conflict marker in package.json first. npm’s conflict-specific instructions say: “As of [email protected], these conflicts can be resolved by manually fixing any package.json conflicts, and then running npm install [--package-lock-only] again.” That wording is from the npm v6 documentation page, last edited 2020-09-22: npm’s legacy package-lock conflict guidance. Treat it as a documented recipe, not as proof that every detail of current npm releases is unchanged.
With the project’s expected npm version, run npm install to reconcile and write the lockfile. If you want to update the lock without updating local node_modules, run npm install --package-lock-only. npm’s npm v11 install documentation describes install behavior; the package-lock reference has a version selector, so consult the documentation matching the version actually pinned by the project.
Check the result without silently accepting drift
Inspect the lockfile diff for unexpected dependency additions, removals, or version changes. For a clean-install check, npm ci requires package.json and package-lock.json to be strictly in sync and does not rewrite the lockfile, according to the current npm documentation. A failure means the manifest and lock need to be reconciled; it is not a reason to discard one branch blindly.
Rank #2
Repair yarn.lock according to the Yarn generation
Yarn Classic
Yarn Classic documents its lockfile as generated data and advises against editing it directly. After resolving the manifest, run yarn install; it writes lock changes when the existing lock cannot satisfy package.json. To install or validate without allowing the lock to change, Classic supports yarn install --frozen-lockfile, which fails if an update is required. See the Yarn Classic lockfile documentation.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Modern Yarn and YN0046
Modern Yarn’s YN0046 guidance reports Git conflict tokens when one or both lockfile candidates cannot be parsed. A mix of Yarn v1 and v2 lockfile formats can cause this because their formats and data differ. Follow the guidance for the Yarn version and conflict shape rather than applying a Classic fix automatically.
Rank #3
For the recovery shape described in the YN0046 page, Yarn gives choosing one candidate and running Yarn install as a way to re-import dependencies from the other branch. Its example uses git checkout --theirs yarn.lock; that selects that side only, so it is not a universal best choice. The recovery can lose v2 resolutions, which Yarn may detect and resolve again. If the file contains multiple nested conflicts, the guidance says Yarn does not support resolving them directly and recommends staged merges that reduce them to two-level merges.
Reconcile poetry.lock cautiously
Resolve pyproject.toml first so the merged dependency declarations reflect the project’s intent. Poetry’s basic-usage guide explains that poetry install uses the exact versions in an existing lockfile and recommends committing poetry.lock for reproducible application installs.
The cited guide does not provide a dedicated lock-conflict command. Use the lock-generation or install procedure documented for the Poetry version installed in the project, then review the resulting lockfile and run the project’s checks. Do not assume that regenerating it preserves both branches’ exact transitive package choices; review any changed versions and test the application before committing.
Recommended Free Tools
Repair go.sum after reconciling go.mod and imports
In Go, go.mod carries module requirements used for module selection; go.sum records checksums. The Go Modules Wiki distinguishes go.sum from a conventional lockfile used by some other dependency systems. Resolve conflicts in go.mod and relevant source imports, then run go mod tidy.
Best Value
The Go Modules Reference says go mod tidy adds missing requirements needed for packages and their dependencies, removes requirements that provide no relevant packages, adds missing go.sum entries, and removes unnecessary entries. Review the diffs in both files. Do not treat go.sum as a file to union-merge mechanically: its checksum entries should be reconciled by Go tooling against the resolved module graph.
Review and verify before committing
- Run
git diff --checkto catch whitespace errors and conflict-marker remnants. - Inspect the manifest and lock/checksum diffs together. For example, use
git diff -- package.json package-lock.jsonfor npm, substituting the relevant files for Yarn, Poetry, or Go. Look for dependency changes that do not match the merged manifest or the intended source changes. - Run the project’s build, tests, or CI checks, along with an available strict or frozen install check appropriate to its package manager and version.
- Once the resolution is correct and verified, stage and commit it. GitHub’s command-line merge-conflict guide covers identifying affected files, editing competing changes, and committing the resolution.
Diff review and project tests are practical safeguards: they help catch a syntactically valid lockfile that nevertheless encodes an unintended dependency change.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errors

