20210418のMacに関する記事は3件です。

【ReactNative】M1 Apple Silicon Macでの環境構築【2021年4月更新】

はじめに M1 Mac対応していない依存関係があり、苦労されている方も多いかと思いますので、現時点でうまくいっている方法をまとめております。 ただし、時間が経つごとに状況が変化しますので、ご自身でもよくお調べになった上で実行いただくようお願いいたします。 前提 Mac購入後、全くの初期状態からスタート MacOS Big Sur(11.2.3) Rosetta2インストール済み 実行するコマンドは基本arm64のターミナルで実行する Rosetta2(x86_64)ターミナルで実行するコマンドについてはその旨記載している。 ターミナルのRosetta2切り替え 「情報」から切り替えることができる。 確認 ターミナルでuname -aコマンドを実行することで、現在の状態が確認できる。 arm64: M1 x86_64: Rosetta2 uname -a # Darwin Kernel Version 20.3.0... x86_64 Homebrewのインストール 2021/2/5にAppleSilicon(M1)がサポートされたバージョンであるHomebrew3.0.0がリリースされた。 が、フォーミュラによっては未対応なので、Rosseta2とうまく併用する必要あり。 公式からインストールする。 パスを通す インストールの最後にパスを通すよう言われるので、その通りコマンド実行する。 ==> Next steps: - Add Homebrew to your PATH in /Users/shin/.zprofile: echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/shin/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)" - Run `brew help` to get started ~$ echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/shin/.zprofile ~$ eval "$(/opt/homebrew/bin/brew shellenv)" 動作確認 ~$ brew -v Homebrew 3.1.2 Nodeのインストール nodeenv を使用する。 brew install nodenv touch .zshrc パスを通す .zshrc eval "$(nodenv init -)" Nodeのインストール Nodeはv15.3.x 以降M1対応。 ターミナルを Rosetta2 に切り替えてインストール する。 (インストール後はarm64に戻してOK) nodenv install 15.9.0 # 確認 nodenv versions 使用するNodeバージョンを指定 nodenv local 15.9.0 # 確認 node -v npm -v yarnのインストール npm i -g yarn Watchmanのインストール brew install watchman JDKのインストール brew install --cask adoptopenjdk/openjdk/adoptopenjdk8 Cocoapodsのインストール brew install cocoapods ※ sudo gen install cocoapodsはインストール自体は可能だがpod installで失敗する。homebrewだとうまくいく。 Xcodeのインストール App Store からインストールし、起動する Preferences > Locations > Command Line Tools を設定する Android Studioのインストール 公式サイトからインストールし、起動する。 インストールウィザード 初回起動時のインストールウィザードでは、 「Custom」を選択する。 以下の3つにチェックを入れ >「Next」 - Android SDK - Android SDK Platform - Android Virtual Device SDK Manager Configure > SDK Manager を選択 "SDK Platforms" > "Show Package Details"にチェックを入れる 以下にチェックを入れインストールする Android SDK Platform 29 Intel x86 Atom_64 System Image "SDK Tools" > "Show Package Details"にチェックを入れる 29.0.2 にチェックを入れインストールする AVD Manager arm64対応のエミュレータを設定する 端末 Pxcel3 など新しめのものを選択 System Image "Other Image"タブ を選択 APIレベル『S』の (Google APIs)を選択しインストールする パスを通す zshrc export ANDROID_HOME=$HOME/Library/Android/sdk export PATH=$PATH:$ANDROID_HOME/emulator export PATH=$PATH:$ANDROID_HOME/tools export PATH=$PATH:$ANDROID_HOME/tools/bin export PATH=$PATH:$ANDROID_HOME/platform-tools サンプルプロジェクトを起動する npx react-native init AwesomeProject # iOS npx react-native run-ios # Android npx react-native run-android # 参考 - https://medium.com/mobile-app-development-publication/my-journey-to-setup-android-emulator-for-m1-macbook-pro-b8365321b3e7 - https://blog.mktia.com/nodejs-on-mac-m1/
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Powerlineスタイルのzshターミナルにカスタマイズしよう

@tocomi氏の記事「Powerline-shellでターミナルを改造しよう」では、Powerlineを用いてMacのカッコいいターミナルをデザインする手順が紹介されていた。私もこのように、ターミナルのデザインをカスタマイズしたかったが、最近のMacはデフォルトのシェルがzshなので、手順が一部異なった。 この記事では、zsh用の手順を備忘録として記載しておく。 環境 私の環境は以下の通りである。 macOS Big Sur 11.2 zsh python 2.7.16 なお、私のMacBookはM1チップ搭載である。これは単なる自慢である。 設定手順 1. Powerline-shellのインストール 公式リポジトリ(powerline-shell)に従った。 % git clone https://github.com/b-ryan/powerline-shell % cd powerline-shell % python setup.py install python2を使うことに注意。 2. .zshrcの設定 .zshrc(ホームディレクトリにあるはず)に以下を書き加えた。 function powerline_precmd() { PS1="$(powerline-shell --shell zsh $?)" } function install_powerline_precmd() { for s in "${precmd_functions[@]}"; do if [ "$s" = "powerline_precmd" ]; then return fi done precmd_functions+=(powerline_precmd) } if [ "$TERM" != "linux" ]; then install_powerline_precmd fi ここで、source ~/.zshrcを実行すると、既にターミナルのデザインが更新されていた。しかし、文字化けした状態であった。これは、必要なフォントがまだインストールされていないからであった。 3. フォントのインストール 公式リポジトリ(Powerline fonts)を一部裏切った手順を踏んだ。 % git clone https://github.com/powerline/fonts % cd fonts % ./install.sh なお、公式の手順を裏切らずに踏んだ方が多分早そうである。 # clone git clone https://github.com/powerline/fonts.git --depth=1 # install cd fonts ./install.sh 4. フォントの設定 ターミナルの環境設定(ターミナル > 環境設定)を開いた。 次に、プロファイルからフォントをSource Code Pro for Powerlineに設定した。 以上で完了だ。 追記 「Powerline-shellでターミナルを改造しよう」では、さらにコマンドライン行を改行するよう、.bashrcを設定している。.zshrcは文法が異なるため、次のように設定すべきである。 function powerline_precmd() { PS1="$(powerline-shell --shell zsh $?) %% " } 参考 Powerline-shellでターミナルを改造しよう GitHub: powerline-shell GitHub: fonts
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

App Service の Web App for Container で .Net 6 Preview を試してみた

背景と目的 2021年4月現在、.NET 6 Preview は App Service でサポートされていませんが、Web App for Container なら .NET 6 Preview を動かすことが可能なのではないかと思い、試してみました。 前提条件 .NET 6 環境は、.Net 6.0.0 Preview 2 を Visual Studio Code から Docker 利用してみた で作成した環境を使用します。 その他コマンドの実施環境は、Mac + Azure CLI です。 zsh % sw_vers ProductName: macOS ProductVersion: 11.2.3 BuildVersion: 20D91 % az version { "azure-cli": "2.21.0", "azure-cli-core": "2.21.0", "azure-cli-telemetry": "1.0.6", "extensions": {} } 実施内容 VSCode の .NET 6 環境で MVC アプリを作成して動作確認を行います。 bash $ docker new mvc -n mvcapp $ cd mvcapp $ cat << EOF > Views/Home/Index.cshtml @using System.Runtime.InteropServices @{ ViewData["Title"] = "Home"; } <div class="text-center"> <h5>Environment</h5> <p>@RuntimeInformation.FrameworkDescription (@RuntimeInformation.ProcessArchitecture)</p> <p>@RuntimeInformation.OSDescription</p> </div> EOF $ dotnet run # http://localhost:5000 をブラウザで確認します。 # 問題なkれば、Ctrl+C で終了します。 $ dotnet publish -c Release $ ls -l bin/Release/net6.0/publish/ VSCode の Docker 環境から抜けて、上で作成した mvcapp ディレクトリまで移動して Mac 上で作業します。 zsh % cat <<EOF > Dockerfile FROM mcr.microsoft.com/dotnet/aspnet:6.0 COPY bin/Release/net6.0/publish/ App/ WORKDIR /App ENTRYPOINT ["dotnet", "mvcapp.dll"] EOF % az group create \ --name AppSvc-DockerTutorial-rg \ --location japaneast % az acr create \ --name mnrappsvc \ --resource-group AppSvc-DockerTutorial-rg \ --sku Basic \ --admin-enabled true # いつもなら下記コマンドで ACR へイメージをプッシュしますが、今回はもっと簡単に az acr build を使用します。 # docker login mnrappsvc.azurecr.io \ # --username mnrappsvc \ # --password $(az acr credential show \ # --resource-group AppSvc-DockerTutorial-rg \ # --name mnrappsvc \ # --query "passwords[0].value" \ # --output tsv) # docker build --tag mvcapp . # docker tag mvcapp mnrappsvc.azurecr.io/mvcapp:latest # docker push mnrappsvc.azurecr.io/mvcapp:latest % az acr build \ --file Dockerfile \ --registry mnrappsvc \ --image mvcapp . % az appservice plan create \ --name AppSvc-DockerTutorial-plan \ --resource-group AppSvc-DockerTutorial-rg \ --is-linux % az webapp create \ --resource-group AppSvc-DockerTutorial-rg \ --plan AppSvc-DockerTutorial-plan \ --name mnrappsvc \ --deployment-container-image-name mnrappsvc.azurecr.io/mvcapp:latest % az webapp identity assign \ --resource-group AppSvc-DockerTutorial-rg \ --name mnrappsvc % az role assignment create \ --assignee $(az webapp identity show \ --resource-group AppSvc-DockerTutorial-rg \ --name mnrappsvc \ --query principalId \ --output tsv) \ --scope $(az acr show \ --name mnrappsvc \ --resource-group AppSvc-DockerTutorial-rg \ --query id \ --output tsv) \ --role "AcrPull" % curl $(az webapp show \ --name mnrappsvc \ --resource-group AppSvc-DockerTutorial-rg \ --query defaultHostName \ --output tsv) # リソースをクリーンアップする % az group delete \ --name AppSvc-DockerTutorial-rg 実施結果 .NET 6 Preview を App Service で動かすことが出来ました! 参考 Running .NET 6 (Preview) on App Service カスタム コンテナーを使用してカスタム ソフトウェアを Azure App Service に移行する チュートリアル: NET Core アプリのコンテナー化 ASP.NET Core 向けの Docker イメージ
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む