環境

  • [Host OS] Windows 11 Home
  • [Oracle VM VirtualBox] 7.0.18
  • [Gust OS] Ubuntu 22.04.4 LTS

前提

  • Virtualboxの[設定]-[共有フォルダー]で共有フォルダーの設定はあるが「自動マウント」はOFF。
  • VM(Gust OS)側で起動時にマウントする設定になっている。(本来は/etc/fstabでやるべきですが上手くいかなかったので下記で代替)

    # cat ~/.bashrc|grep mount
    mount -t vboxsf share /share
    

内容

  • 課題

    • NextJSのインストール時にシンボリックリンク作成でエラー。

      # npm install --save react react-dom next
      :
      (中略)
      :
      npm error code EPERM
      npm error syscall symlink
      npm error path ../@mapbox/node-pre-gyp/bin/node-pre-gyp
      npm error dest /apps/simple-flashcard-nextjs/node_modules/.bin/node-pre-gyp
      npm error errno -1
      npm error Error: EPERM: operation not permitted, symlink '../@mapbox/node-pre-gyp/bin/node-pre-gyp' -> '/apps/simple-flashcard-nextjs/node_modules/.bin/node-pre-gyp'
      :
      (中略)
      :
      npm error The operation was rejected by your operating system.
      npm error It is likely you do not have the permissions to access this file as the current user
      npm error
      npm error If you believe this might be a permissions issue, please double-check the
      npm error permissions of the file and its containing directories, or try running
      npm error the command again as root/Administrator.
      
  • 解決策

    • まずVMを落とします。(仮想マシンの電源をOFF)
    • 次にWindows(ホストOS)側でコマンドプロンプトを起動。(念の為「管理者として実行」)
    • コマンドプロンプトで下記を実行。(仮想マシン名=ubuntu、共有フォルダー名=share とした場合の例)
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe setextradata ubuntu VBoxInternal2/SharedFoldersEnableSymlinksCreate/share 1