コラム 3. プログラミング情報
2019年10月12日に更新

yarnエラー対応 [An unexpected error occurred: "https://registry.yarnpkg.com/flatmap-stream/-/flatmap-stream-0.1.2.tgz: Request failed \"404 Not Found\"]

yarnコマンドエラーの発生

Nuxt.jsのアプリを作る際に下記コマンドでエラーが発生。

$ yarn global add create-nuxt-app

yarn global v1.17.3
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
error An unexpected error occurred: "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.6.tgz: Request failed \"404 Not Found\"".
info If you think this is a bug, please open a bug report with the information provided in "/Users/andou/.config/yarn/global/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/global for documentation about this command.

エラーの原因

どうやら、yarnが依存するパッケージにビットコインを盗むコードが埋め込まれていたらしい。。。

翻訳:event-stream事件の詳細

エラーの対応

yarnの依存パッケージを更新します。

ターミナルからyarn glogalへ移動

$ cd .config/yarn/global/

感染した依存パッケージを削除

node_modulesディレクトリにある「flatmap-stream」と「event-stream」を削除します。

「rm」は削除コマンドです。

$ rm -rf ./node_modules/flatmap-stream ./node_modules/event-stream

yarn.lockを削除

$ rm yarn.lock

再度インストール

yarnの依存パッケージを再インストールします。

$ yarn install

yarn install v1.17.3
warning package.json: No license field
info No lockfile found.
[1/4] 🔍  Resolving packages...

...

success Saved lockfile.
✨  Done in 96.20s.

success Saved lockfile.が出たら成功です。



これでyarnのコマンドが使えるようになります。

目視で確認しながら操作する

ターミナルでいきなり操作するのが怖い方は、自分の目で確認しながらの操作をお勧めします。

macで隠しディレクトリを表示する

macのフォルダーアプリを開いて「command」 + 「shift」 + 「.」を押します。

2019-07-26 18-39-28

この薄白く表示されている全てが隠しフォルダと隠しファイルです。

yarnの中に移動

今回削除したyarn.lockファイルは下記のディレクトリにあります。

ユーザ > (自分のユーザー名) > .config > yarn > global

感染したflatmap-streamとevent-streamはもう一つ奥のディレクトリにあります。

ユーザ > (自分のユーザー名) > .config > yarn > global > node_modules

「$ rm yarn.lock」コマンドを実行するとフォルダーアプリの中に表示されているyarn.lockも削除されているはずです。



目視で確認しながらだと少し安心ですね。(僕はかなり安心でした)

参考

https://github.com/yarnpkg/yarn/issues/6725#issuecomment-444702390

現在、カテゴリー「Rails apiとNuxt.jsでSPA開発」のデモアプリを構築中です。記事になるまでもう少々のお時間が必要です。ブログの更新が止まって申し訳ありません。デモアプリの進捗状況は こちらの記事 で随時お伝えしてまいります。
スポンサー広告
スポンサー広告