MENU
PIXIV FANBOXを開設しています詳しくはこちら!

Safe-chain を導入して npm i したら Dry-run command failed で転けた

うちはSafe-chainをインストールしてます。そして、いつもどおりnpm iしたら何故か転けました。

PS C:\GitHub\***\***> npm i
× Safe-chain: Error while scanning.
Failed to check for malicious packages: Dry-run command failed with exit code 1 and output:
目次

解決方法

結論を言うとSafe-chainは関係なく、単純にnode_modulespackage-lock.jsonの問題でした。そのため、該当ディレクトリおよびファイルを削除します。

Remove-Item -Recurse -Force node_modules -ErrorAction SilentlyContinue
Remove-Item package-lock.json -ErrorAction SilentlyContinue

そして再度、インストールをしましょう。

npm i

これでエラーがなくなりました👍🏻
下記、備忘録として原因の調査および解説をします。

原因は……?

調査をしてみます

なぜ転けたのか情報がなさ過ぎる…… 仕方が無いので npm install --dry-run --verbose で詳細を見ましょう。

PS C:\GitHub\***\***> npm install --dry-run --verbose
npm verbose cli C:\Program Files\nodejs\node.exe C:\Users\akasaka\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js
npm info using npm@11.4.2
npm info using node@v25.1.0
npm verbose title npm install
npm verbose argv "install" "--dry-run" "--loglevel" "verbose"
npm verbose logfile logs-max:10 dir:C:\Users\akasaka\AppData\Local\npm-cache\_logs\2025-12-07T12_02_39_729Z-
npm verbose logfile C:\Users\akasaka\AppData\Local\npm-cache\_logs\2025-12-07T12_02_39_729Z-debug-0.log
npm http cache https://registry.npmjs.org/@hookform%2fresolvers 215ms (cache hit)
(略)
npm http cache https://registry.npmjs.org/vite-plugin-devtools-json 6ms (cache hit)
npm verbose stack Error: could not resolve
npm verbose stack     at PlaceDep.failPeerConflict (C:\Users\akasaka\AppData\Roaming\npm\node_modules\npm\node_modules\@npmcli\arborist\lib\place-dep.js:503:25)
npm verbose stack     at new PlaceDep (C:\Users\akasaka\AppData\Roaming\npm\node_modules\npm\node_modules\@npmcli\arborist\lib\place-dep.js:157:21)
npm verbose stack     at #buildDepStep (C:\Users\akasaka\AppData\Roaming\npm\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:931:18)
npm verbose stack     at async Arborist.buildIdealTree (C:\Users\akasaka\AppData\Roaming\npm\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:182:7)
npm verbose stack     at async Promise.all (index 1)
npm verbose stack     at async Arborist.reify (C:\Users\akasaka\AppData\Roaming\npm\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\reify.js:131:5)
npm verbose stack     at async Install.exec (C:\Users\akasaka\AppData\Roaming\npm\node_modules\npm\lib\commands\install.js:149:5)
npm verbose stack     at async Npm.exec (C:\Users\akasaka\AppData\Roaming\npm\node_modules\npm\lib\npm.js:208:9)
npm verbose stack     at async module.exports (C:\Users\akasaka\AppData\Roaming\npm\node_modules\npm\lib\cli\entry.js:67:5)
npm error code ERESOLVE
npm error ERESOLVE could not resolve
npm error
npm error While resolving: ***@undefined
npm error Found: @react-router/dev@7.5.0
npm error node_modules/@react-router/dev
npm error   dev @react-router/dev@"^7.10.1" from the root project
npm error
npm error Could not resolve dependency:
npm error dev @react-router/dev@"^7.10.1" from the root project
npm error
npm error Conflicting peer dependency: react-router@7.10.1
npm error node_modules/react-router
npm error   peer react-router@"^7.10.1" from @react-router/dev@7.10.1
npm error   node_modules/@react-router/dev
npm error     dev @react-router/dev@"^7.10.1" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error C:\Users\akasaka\AppData\Local\npm-cache\_logs\2025-12-07T12_02_39_729Z-eresolve-report.txt
npm verbose cwd C:\GitHub\***
npm verbose os Windows_NT 10.0.26200
npm verbose node v25.1.0
npm verbose npm  v11.4.2
npm verbose exit 1
npm verbose code 1
npm error A complete log of this run can be found in: C:\Users\akasaka\AppData\Local\npm-cache\_logs\2025-12-07T12_02_39_729Z-debug-0.log

はい。原因が分かりました。

1つずつ見ます

npm error code ERESOLVE
npm error ERESOLVE could not resolve

22~23行目で『依存関係が解決できません』と言われてます。

npm error While resolving: ***@undefined

25行目は『***というプロジェクトが対象でエラーが起きてる』と言われてます(名称は伏せてます)。

npm error Found: @react-router/dev@7.5.0
npm error node_modules/@react-router/dev
npm error   dev @react-router/dev@"^7.10.1" from the root project

26行目からエラーの詳細が記載されてます。

  • node_modules@react-router/dev@7.5.0が入ってる
  • package.json@react-router/dev@"^7.10.1"を入れようとしてる
  • つまりnode_modulespackage.jsonで指定が食い違ってる
npm error Conflicting peer dependency: react-router@7.10.1
npm error node_modules/react-router
npm error   peer react-router@"^7.10.1" from @react-router/dev@7.10.1
npm error   node_modules/@react-router/dev
npm error     dev @react-router/dev@"^7.10.1" from the root project
  • @react-router/dev@7.10.1react-router@"^7.10.1" を要求している
  • しかし上記のエラーにあるとおり@react-router/dev@7.5.0が残っている
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
  • 上流の依存関係の競合を修正 まはた 再実行 してください(=バージョンの指定やnode_modulesを整理して矛盾を解決してください)
  • もし面倒くさい場合はnpm install --forceまたはnpm install --legacy-peer-depsを実行できるよ
  • ただし間違った(壊れた)状態になるかもしれません

といったことが書かれてました。

これにより、原因の対策が分かりましたね!(node_modulesを削除すればOKということが)

ちなみに

今回の要因はnpm-check-updatespackage.jsonを一括更新したのが、問題の発生原因です!

npm-check-updatesでは、ncuのコマンドでpackage.jsonの依存関係に最新バージョンがあるか確認できます。

PS C:\GitHub\***> ncu
Checking C:\***\***\package.json
[====================] 8/8 100%

 @shopify/draggable  ^1.0.0-beta.8  →    ^1.2.1
 electron                  ^24.2.0  →   ^39.2.6
 electron-builder          ^24.3.0  →  ^26.0.12
 electron-log               ^4.4.8  →    ^5.4.3
 flowbite                   ^1.5.5  →    ^4.0.1
 tailwindcss                ^3.2.4  →   ^4.1.17
 ws                        ^8.11.0  →   ^8.18.3

Run ncu -u to upgrade package.json

そしてncu -uで簡単にpackage.jsonへ記載されているバージョンを最新バージョンに書き換えてくれます。

PS C:\GitHub\***> ncu -u
Upgrading C:\***\***\package.json
[====================] 8/8 100%

 @shopify/draggable  ^1.0.0-beta.8  →    ^1.2.1
 electron                  ^24.2.0  →   ^39.2.6
 electron-builder          ^24.3.0  →  ^26.0.12
 electron-log               ^4.4.8  →    ^5.4.3
 flowbite                   ^1.5.5  →    ^4.0.1
 tailwindcss                ^3.2.4  →   ^4.1.17
 ws                        ^8.11.0  →   ^8.18.3

Run npm install to install new versions.

うーん、とても便利!!

これが差分。1つずつ更新しなくてもいいのは楽できる!

そう思って、そのままnpm iをしてしまうと、node_modulesディレクトリ内に保存されてるバージョンや、package-lock.jsonに記載されているバージョンと齟齬が生まれてしまうって訳ですね……

その結果、今回のエラーが発生しちゃってました。みんな、気をつけようね!✨

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

紅坂 柚月のアバター 紅坂 柚月 自称天才プログラマー

お酒が大好きなバ美肉VTuber。

お出掛けの時は和服を着てます。
プログラムは独学で遊んでます。

目次