Node.jsでyarn add → symlinkのエラー

Node.jsでyarn addしたら「symlinkがうんぬん」というエラーが出たときのメモ。

結論から先に書くと、powerShellを管理者権限で実行していなかったのが原因でした。

 

最初から順番に書いていくと

まず私はWindows10の中に、vagrantを使ってubuntu+virtualBoxという仮想環境を構築していて、その中でNode.jsの勉強をしていました。

それで勉強のために、いろいろなライブラリをインストールしていたんですが、ある日yarn addしたら以下のようなエラーが出ました。

vagrant@ubuntu-bionic:~/workspace/schedule-arranger$ yarn add mocha@4.0.1 –dev
yarn add v1.13.0
[1/4] Resolving packages…
warning mocha > mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface h
[2/4] Fetching packages…
[3/4] Linking dependencies…
error An unexpected error occurred: “EPROTO: protocol error, symlink ‘../../../acorn/bin/acorn’ -> ‘/home/vagrant/workspace/schedule-arran
info If you think this is a bug, please open a bug report with the information provided in “/home/vagrant/workspace/schedule-arranger/yarn
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.

日本語訳すると

  • エラー:予期せぬエラーが発生したよ!シンボリックリンクを作成するときにエラーが出たよ!
  • 情報:これがバグであると思われる場合は、「/ home / vagrant / workspace / schedule-arranger / yarn」で提供される情報を使用してバグレポートを開いてね!
  • 情報:このコマンドに関するドキュメントについては、https://yarnpkg.com/en/docs/cli/addにアクセスしてね!

みたいな感じ。

「なんぞこれ・・」と思って調べてみると、どうやら仮想環境でLinuxを使っていて、Windowsと共有フォルダを設定している場合にこういうエラーが出ることがあるんだとか。

(シンボリックシンクってたしか「本当はあそこにあるけどここにあるように見せかける」みたいなやつだよね)

 

ただ、私はいままで仮想環境を数ヶ月使ってたんですが、このようなエラーが出たことが一度もなかったので「なんでいまさら・・?」と考えた結果、、powerShellを管理者権限で実行していなかったのが原因だったというオチでした。

管理者権限ないとシンボリックリンクって作れないのね。

▲管理者権限で起動している場合、左上に「管理者:」と表示されます。

同じエラーで悩んでいる人は、確かめてみてください。

 

おわり

Node.js
スポンサーリンク
この記事を書いた人
penpen

1991生まれ。WEBエンジニア。

技術スタック:TypeScript/Next.js/Express/Docker/AWS

フォローする
フォローする

コメント

タイトルとURLをコピーしました