どうも、最近Apple製品を使い始めたReveです。
今日は、手に入れたMacBook Pro(M1)にUnityをぶち込んだものの、なぜかVisual Studioが起動しない現象に出くわしたので、再インストールで対処した、そんな話。
Visual Studio(VS)って何?
そもそもVisual Studioとは、プログラム開発にはほぼ必須のIDE(統合開発環境)の一つで、Microsoftから提供されています。
iOS(つまりiPhone)アプリ開発のためUnityというゲームエンジンを入れたのですが、スクリプト(プログラム)開発に使われる言語がC#で、今のUnityでは実質デファクトスタンダードのツールです。しかし、Unityからというか、自分のMacで何故かそのVisual Studioが全く起動せず…orz
元々はUnityインストーラーから導入したものの、それを一旦アンインストールして、手動で再インストールしたら解決した、というのが一連の概要です。
VSのアンインストール
アプリケーション
とりあえず、アプリケーションのアンインストールは「ゴミ箱に入れる」だけ。Finderのアプリケーションフォルダから、Visual Studioのアイコンを探して、オプションメニューから選択します。
あとはゴミ箱を空にすればアプリケーションは削除できます!
既存の .NET core
.NETとは、正確にはMicrosoft .NET Frameworkという名称で、Microsoftの提供するWindows向けソフトやWebサービス開発などで使われるプラットフォームとして、主にC#などの言語に対応しています。
前に導入した.NETのファイル群をそのままにしていると、新規インストールの妨げとなる可能性があるため、事前に削除しておきます。幸い、アンインストール用のツールも公開されているので、コンソールで下の2行を上から順に入力して(要ネット接続)、Macに残った.NET関係のファイルを削除します。
1 2 |
> sudo /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/dotnet/sdk/main/scripts/obtain/uninstall/dotnet-uninstall-pkgs.sh)" > sudo rm -r /etc/dotnet |
終わったら次のステップへ(念のため、再起動を推奨)。
VSの再インストール
いよいよ本番。ですが、入れるのはVisual Studio 2019 (for Mac)です。最新版(2022 preview)ではありません。
現時点では、何故か最新版のVSインストールが成功しなかったので(私個人だけかも…)、仕方なく以前のバージョンを導入することになりました。
以前のバージョンはどこ?
普通に検索エンジンで「Visual Studio 2019 for Mac」と調べても中々見つかりません。実は、Visual Studioのダウンロードページを一番下までスクロールして、「古いバージョンのダウンロード」をクリックすると見つけられます。
とりあえず以下のURLにアクセスすればOKです。ただ、Microsoft(One Drive)アカウントが必要なのは注意!(無料アカウントも可)
開いたページの検索欄で「Visual Studio 2019 for Mac」と入れればMac用インストーラが見つかります。
インストーラーの実行
ダウンロードした後は、単にインストーラーを実行すればOK。
こんなアイコンが出てきたら、ダブルクリックでインストール作業を開始します。
インストールが開始されると、どのツールキットやライブラリなどが必要か聞かれますが、今回はデフォルトの.NETとiOSを選択したままで続行します。
インストールは時間がかかりますが気長に待ちます。
終了したら、サインインやショートカットキーの選択にはいりますが、サインインは不要で、ショートカットについてもお好みで。使い慣れたものがあれば、そちらに合わせると便利かも。
無事にインストールが完了すると、(恐らく)Visual Studioが起動します。
そのウィンドウはいったん閉じて、Unityを起動してから中のスクリプト(C#)ファイルを開くと、以下のように聞かれるのでアクセスを許可しましょう(OKボタン)。すると、Visual Studioでスクリプトが読み込まれて、中を編集できるようになります。
ファイルのアクセス権
ちなみに、万が一「アクセス権がない」という旨のメッセージが出たときは、Unityプロジェクト内のファイルのアクセス権限を変更してみましょう。以下のURLのように、親(ルート)フォルダの権限を変更してから「内包している内容に適用…」ボタンを押すと、中の全ファイルのアクセス権を親と統一できます。