20211203のMacに関する記事は9件です。

EclipseをMacにインストールする手順

今回はJava開発環境のEclipseをMacにインストールする手順を教えます✨ まずは下記のサイトからインストーラを入手します。   https://mergedoc.osdn.jp/ 「Eclipse 2021 最新版」をクリック? 容量があるのであればMac版のJavaで「Full Edition」をダウンロードしましょう。 ダウンロードができたらファイル実行し、表示された画面に従って「Eclipse_2021-12」を「Applications」フォルダにコピーします。 先ほど「Applications」フォルダに移動した「Eclipse」を起動してみましょう。 このようなエラーが表示された場合は、  システム環境設定 > セキュリティとプライバシー > このまま開く これでアプリを開くことができました 続きは別の記事で紹介しようと思います
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

EclipseをMacにインストールする方法

今回はJava開発環境のEclipseをMacにインストールする手順を教えます✨ まずは下記のサイトからインストーラを入手します。   https://mergedoc.osdn.jp/ 「Eclipse 2021 最新版」をクリック? 容量があるのであればMac版のJavaで「Full Edition」をダウンロードしましょう。 ダウンロードができたらファイル実行し、表示された画面に従って「Eclipse_2021-12」を「Applications」フォルダにコピーします。 先ほど「Applications」フォルダに移動した「Eclipse」を起動してみましょう。 このようなエラーが表示された場合は、  システム環境設定 > セキュリティとプライバシー > このまま開く これでアプリを開くことができました 続きは別の記事で紹介しようと思います
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

MacでDockerが遅いのをLimaで解決する(M1/Intel)

MacでDockerが遅いという有名な問題、Limaに乗り換えることでネイティブ程度の速度が出た。 ということでDocker DeskTopを捨てました。 この手順でやると以下の感じになります Mac上で今までどおり docker コマンドや docker-compose を利用できる VSCodeのRemote Containerでも当然利用可能  特にFile IOが大きく改善するので体感的にめっちゃ早くなる Limaに乗り換えの情報は色々あるのだけど、なかなかうまくいかなかったので 自分がやった手順を公開。 現在のdockerを捨てる おそうじ。 以下でコンテナを全部止めて docker stop $(docker ps -aq) docker system prune で全部消せる。イメージが多過ぎたりすると固まる。 Docker Desktopを再起動して、何度か実行すればOK おそうじが終わったらdocker-desktopをアンインストールする Lima セットアップ Limaを使うとUbuntuの仮想マシンをスパッと作ってくれる。 その中にDocker Serverを立てる 参考 インストール brew install lima Lima VMを作成 Limaの設定を default.yaml というファイルで作成する このファイルはLima 公式から持ってこれるが、一部カスタマイズをする default.yaml # Example to use Docker instead of containerd & nerdctl # $ limactl start ./docker.yaml # $ limactl shell docker docker run -it -v $HOME:$HOME --rm alpine # To run `docker` on the host (assumes docker-cli is installed): # $ export DOCKER_HOST=unix://$HOME/docker.sock # $ docker ... # This example requires Lima v0.7.3 or later images: # Hint: run `limactl prune` to invalidate the "current" cache - location: "https://cloud-images.ubuntu.com/impish/current/impish-server-cloudimg-amd64.img" arch: "x86_64" - location: "https://cloud-images.ubuntu.com/impish/current/impish-server-cloudimg-arm64.img" arch: "aarch64" # 重要。Mac側のディレクトリをcontainerにマウントした後、container側から書き込むために設定する # マウントして書き込みを許可するMAC上のパスをセットして、writableをtrueにする。 # 今回は例として、Home DirectoryとHome Directoryのworkディレクトリを指定している mounts: - location: "~" writable: true - location: "/tmp/lima" writable: true - location: "~/work" writable: true ssh: localPort: 60006 # Load ~/.ssh/*.pub in addition to $LIMA_HOME/_config/user.pub , for allowing DOCKER_HOST=ssh:// . # This option is enabled by default. # If you have an insecure key under ~/.ssh, do not use this option. loadDotSSHPubKeys: true # containerd is managed by Docker, not by Lima, so the values are set to false here. containerd: system: false user: false provision: - mode: system script: | #!/bin/bash set -eux -o pipefail command -v docker >/dev/null 2>&1 && exit 0 export DEBIAN_FRONTEND=noninteractive curl -fsSL https://get.docker.com | sh # NOTE: you may remove the lines below, if you prefer to use rootful docker, not rootless systemctl disable --now docker apt-get install -y uidmap dbus-user-session - mode: user script: | #!/bin/bash set -eux -o pipefail systemctl --user start dbus dockerd-rootless-setuptool.sh install docker context use rootless probes: - script: | #!/bin/bash set -eux -o pipefail if ! timeout 30s bash -c "until command -v docker >/dev/null 2>&1; do sleep 3; done"; then echo >&2 "docker is not installed yet" exit 1 fi if ! timeout 30s bash -c "until pgrep rootlesskit; do sleep 3; done"; then echo >&2 "rootlesskit (used by rootless docker) is not running" exit 1 fi hint: See "/var/log/cloud-init-output.log". in the guest # 重要。Mac側のdockerコマンドでLima上のDockerサーバーに接続するため、docker.sockをMac側に晒す portForwards: - guestSocket: "/run/user/{{.UID}}/docker.sock" hostSocket: "{{.Home}}/docker.sock" ポイントは以下2点 mounts の location部分で docker volumeマウントするホスト側のディレクトリを指定して書き込み可能にしておく これをしておかないとコンテナ側でマウントされたファイルの更新ができない。 portForwards で docker.sock をホストマシン(Mac)に露出する これをすることで、Mac上から Lima VM上の docker.sock を直接接続できる。 色々試したけど、docker.sock を晒す方法が一番簡単でうまく動作した。 Lima上にゲストVMを作成する。 limactl start ./default.yaml 起動したらdockerの動作確認 lima docker version mac osにdocker cliをインストール mac上で docker コマンドを使えるように、docker のクライアントだけインストールする 例では#HOME/bin に配置しているけどPATH通っていればどこでもいい # docker cli # Intel Macの場合 curl -OL https://download.docker.com/mac/static/stable/x86_64/docker-20.10.11.tgz # M1 Macの場合 curl -OL https://download.docker.com/mac/static/stable/aarch64/docker-20.10.11.tgz mkdir -p $HOME/bin tar xzvf docker-20.10.11.tgz mv docker/docker $HOME/bin/. chmod 755 $HOME/bin/docker Lima VMのdockerとMacのdockerを接続 ~/.zprofile に以下の記述を追加 Macのdocker cliからLima VMの docker.sock につなぐようにする export DOCKER_HOST=unix://$HOME/docker.sock 設定を反映 source $HOME/.zprofile これでmac上からdockerを操作できる docker version うまくいっていればDocker ServerとしてLima上のDockerにつながる Macにdocker-compose v2をインストール バイナリからインストールする。 Intel Macの場合とM1 Macの場合でバイナリが違う mkdir -p ~/.docker/cli-plugins/ # Intel Mac curl -SL https://github.com/docker/compose/releases/download/v2.1.1/docker-compose-darwin-x86_64 -o ~/.docker/cli-plugins/docker-compose # M1 Mac curl -SL https://github.com/docker/compose/releases/download/v2.1.1/docker-compose-darwin-aarch64 -o ~/.docker/cli-plugins/docker-compose chmod +x ~/.docker/cli-plugins/docker-compose docker compose version これで docker compose up ができる その他 docker compose up で err: exec: "docker-credential-osxkeychain": executable file not found in $PATH これが出た場合、 ~/.docker/config.json を削除することで解消する この構成でやる時の制限 Limaの制限でホスト側の1から1023番ポートまでの特権ポートは利用できない。 例えば、docker run する時のポート指定で 80:80 はダメで 8000:80 とかにする必要がある
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

macの再起動後、SourceTreeのgit操作でエラーが発生する

 困ったこと macのSourceTreeにて、以前成功していたgit操作が再起動後は失敗するようになります。 その際に以下のエラーメッセージが出力されます。 Please make sure you have the correct access rights and the repository exists. git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. OS:macOS Big Sur SourceTree:4.1.3 SSH鍵はgithubに登録済み SourceTreeとgithubのアカウント連携も済 リモートリポジトリも登録済 ターミナル上でgitコマンドを使った接続は成功する 原因 SSH鍵にパスフレーズが設定されている場合に発生するようです。 詳しくは以下記事にて解説されております。原因特定の際に大変助かりました。 https://qiita.com/yuki153/items/0ad5cb02faf3ecdcf903 対処法 上記記事の中でも解説頂いておりますが、.ssh配下のconfigファイルに以下の1行を追加する事で解消しました。 UseKeychain yes これによって、再起動後でもSourceTreeにて問題なく実行できるようになるはずです。 誤り等あればご指摘頂けますと幸いです。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

コンテナの「生成・起動」と「停止」と「破棄」

[概要] コンテナの「生成/起動/停止/破棄」の、 よく使うコマンドを記載する ※使うコマンドが増えれば、更新しきます [作業] Dockerは起動している前提 [コンテナの生成/起動] docker-composeを使用する前提ですが、 docker-compose.ymlが配置されている層で、以下のコマンドを実行してコンテナを起動 terminal #コンテナを生成・起動する docker-compose up #コンテナを生成・起動する (バックグラウンド) docker-compose up -d コンテナの生成と起動を、実行してくれている [コンテナの停止] 通常通りに、起動したコンテナを以下のコマンドで停止しましょう 「ctrl + c」で抜ける(停止する)ことが可能です もし、上記が不可能!という場合や、バックグラウンドで起動している場合、以下を実行する 1, 新しくターミナルを立ち上げる 2, 以下のコマンドを実行する terminal #実行しているコンテナ一覧を表示するコマンド docker ps 3, 起動されているコンテナIDを確認する terminal CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 60567ff2049d localserver_flask "flask run --host 0.…" 6 hours ago Up 2 seconds 0.0.0.0:8080->8080/tcp localserver_flask_1 4, コンテナIDが確認できたので以下を実行する terminal docker container stop CONTAINER ID 5, 再度、上記2を実行して起動中のコンテナを確認する terminal ONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ※表示されていないので、起動していないことが解る!!!! [補足] 6, ちなみに以下のオプションをつけることで。コンテナが「停止中/起動中」も含めて、全て確認することが確認できる。  ※ここで重要なのは、上記4で実行したのはコンテナを停止しただけで、破棄はされていないこと。 terminal docker ps -a terminal CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 60567ff2049d localserver_flask "flask run --host 0.…" 6 hours ago Exited (0) 5 minutes ago localserver_flask_1 5841d726350e server_flask "flask run --host 0.…" 2 months ago Exited (255) 7 hours ago 0.0.0.0:8080->8080/tcp server_flask_1 [コンテナの破棄] コンテナIDを指定して破棄する場合 以下のコマンドを実行する terminal docker container rm CONTAINER ID コンテナ(停止中)を全て破棄する場合 terminal docker container prune 参考
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Macでgtkwaveをコマンドラインから起動する

VHDLの環境構築をサイトの通りにやっていて、gtkwaveのコマンドラインからの実行で詰まったのでメモ。 環境 m1 macbook air(2020) brewでgtkwaveをインストール  エラー内容 /opt/homebrew/bin/gtkwave: line 122: test: too many arguments /opt/homebrew/bin/gtkwave: line 149: test: ==: unary operator expected find: /share/locale: No such file or directory /opt/homebrew/bin/gtkwave: line 215: /opt/homebrew/bin/../../../Contents/Resources/bin/square.vcd: No such file or directory /opt/homebrew/bin/gtkwave: line 215: exec: /opt/homebrew/bin/../../../Contents/Resources/bin/square.vcd: cannot execute: No such file or directory 対応 perlでSwitchというやつを入れる。macにperl(とそのライブラリマネージャ的なやつ?のcpan)は元から入ってる。 cpan install Switch perl -V:'installsitelib' んで、どこかにインストールされたSwitch.pmてやつを、/Library/Perl/5.30/に移す。 自分の環境では~/perl5/lib/perl5/にあったので、下のコマンドを実行。 sudo cp ~/perl5/lib/perl5/Switch.pm /Library/Perl/5.30/ このままだとまだコマンドにgtkwaveと打ち込んでも動作しない。 各々使っているシェルの設定に次のPATHを追加してください。 ~/.zshrc export PATH= /Applications/gtkwave.app/Contents/Resources/bin/:$PATH 動作 gtkwave sample.vcd とかで動作したよ。 最後に、適当に作ったスクリプト貼っときます。 vhdl_build.sh # /bin/sh ghdl -a --ieee=synopsys $1 VHD=$1 VCD=${VHD%.*}.vcd ghdl -r --ieee=synopsys ${VCD%.*} --vcd=$VCD gtkwave $VCD rm $VCD 参考(ほぼこの記事のまんまです)
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Dockerで、検証用サーバーを構築してみた⑤ (最終章 実行編)

[概要] Dockerを使用する際のコマンドを、自分なりに理解した内容も踏まえて 記録しておこう。 [コマンド] [現在のディレクトリ構成] LocalServer/ ├── app/ │       └── local_server.py └── Dockerfile └── docker-compose.yml 最終章 これまでの記事で、必要最低限のソフト、ファイルを用意してきました。 この記事では、実際に自身のPCのみでリクエストからレスポンスを一貫して確認してみようと思います。 Dockerの起動 1, Dockerは起動できている? まず、以下のコマンドを実行して、Dockerが起動しているか確認してみよう terminal #実行しているコンテナ一覧を表示するコマンド $ docker ps ※もし、以下のようなエラーが表示されれば、Dockerそのものをが起動出来ていない。 terminal #Dockerを起動出来ていないので、ちゃんと起動してる?と言われる。。。 $ docker ps Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 以下コマンドで、Dockerを立ち上げよう terminal /usr/bin/open /Applications/Docker.app 以下の内容が、表示されればOK。 terminal #現在はコンテナを起動していないので各項目のみ表示される $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2, コンテナの起動 以下のコマンドを実行して、[docker-compose]から、コンテナを起動してみましょう。 terminal # 停止中のコンテナを対象に、イメージ作成から、コンテナを作成/起動してくれるコマンド $ docker-compose up ※LocalServerフォルダに移動してから実行してください。 3, コンテナ状態の確認 上記1の、コマンドを実行してコンテナが起動されていることを確認してみましょう。 すると今度は以下のような表示になる筈です。 terminal $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 60567ff2049d localserver_flask "flask run --host 0.…" 12 minutes ago Up 7 minutes 0.0.0.0:8080->8080/tcp localserver_flask_1 [各項目の詳細] CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAME コンテナIDの最初の12桁 コンテナ生成の元となったイメージ 起動時のコマンド コンテナ作成後の経過時間 コンテナ起動/停止後の経過時間 バインドしているポート コンテナ名 これで晴れて、自身のPC内に、Dockerを使用→コンテナ起動→検証用サーバーを立ち上げる事が可能となりました。 4, それではブラウザで、「localhost:8080/test」を開いてみましょう。 pythonファイルの記載されている、「リクエストに成功!!」の文言が表示されればOKだが、、、 どうだ、、 どう、、だ? 気持ちの良い瞬間 4, まとめ 今回、初投稿ではありましたが記事①〜⑤を作成してみました。 詳細な情報、必要な情報が抜けていたり、至らない点がいくつもあると思います。 その点は、すみません。(内容に間違いや、アドバイス等ありましたらご指摘いただけますと幸いです) 今後もっともっと、知識を深めて色々な情報をお届けできればなと思ってます。 それと、最後に記事の投稿に迷われている方等、いらっしゃいましたら 私は、以下の内容を感じましたので、少量でも投稿してみる事をオススメします。 ・アウトプットによる、知識の定着 ・記事を公開するので、今までしっかり理解出来ていなかった内容を理解しないといけない。。が  知識量が増える。(結果、楽しいw) ・再度、技術者として自覚し、モチベーションの向上に繋がった ・記事投稿の達成感により、モチベーションの向上に繋がった 今後、この検証用サーバーに対して、スマホアプリから通信した場合や、 Jsonデータを返却したりなど色々と記事にしていこうと思います。 興味がある方は見ていただければと思います。刺激になるので 見てくださった方々、ありがとうございました。 参考
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

MacBookProの2021年版 Flutter開発環境設定など

この記事は Mobility Technologies Advent Calendar 2021 の3日目です。 MacBookPro 16インチ M1 MAX 64GB モデルを手に入れました。 手に入れた、ということは環境設定しないと動かない訳なので、備忘録的に書き留めておきます。 ハード 最初に、外付けモニター(Thunderbolt4接続の5kモニター LG と、 Eizoの1920x1920の正方形モニター)を繋ぐのは、それぞれ、Thunderbolt4とHDMI として、残りは電源とThunderbolt4が2つ。電源はMagsafeが使える(この辺もうれしい) 残りのThunderbolt4の一つに、OWCのThunderbolt Dock をつけて、そこからEtherNetや、Keyboard (KINESIS) & TrackBall (Kensington) などを。 (無線は入力的に不安なので好みで使ってないので有線接続)を そして、そのままだと熱対策が怖いので、スタンドを用意して これでクラムシェルモードでも安定 ソフトウェア 本編です FlutterWebの環境のためにVSCodeで設定していくのですが、まっさらなMacのためにやったことを先に ・Alfred - ランチャー(アプリ呼び出し) 最近定番ですね ・Bartender メニューバーアイテムの整理アプリ。M1PRO/MAXMacだとディスプレイのノッチがあるので今まで以上にメニューバーアイテム管理が大変なので ・Bitwarden - パスワードマネージャー ・DeepL 翻訳アプリ、最近PDFそのまま翻訳もしてくれるようになり、さっと文献との照らし合わせに便利 ・Droplr - スクリーンショットやファイル共有 ・Fork - GUIのgitclient ・iStat Menus - メニューバーに情報を集約させるもの ・iTerm - ターミナル ・Kaleidoscope - Diff(差分)管理アプリ ・Karabiner-Elements - キーリマップアプリ。基本的に英語キーボード使いなので、左コマンドをトグルで日本語/かなに変換、Caps<->Ctrlして使ってる ・VisualStudio Code - Flutter web の開発エディターとしても優秀 ・Xcode - 何はなくともmacの基本開発環境。いれとかないと話にならない あと等幅フォントを追加 ・Circle M+ 1m - おなじurl内にある clanp もよい等幅フォント ・Ricty - 派生フォントなので好き好きで…… (Rictyはライセンスの関係で手元でbuildする必要がある。第二水準漢字までのもので Ricty Diminished というのもある) Visual Studio Code の 設定 拡張機能 ・Auto Close Tag (タグの開きと綴じを確認する) ・Auto Rename Tag (タグの関連名を確認) ・Bracket Pair Colorizer 2 (つながりを色で確認できるように) ・Dart (Dart拡張の標準、種類がたくさんあるが標準をあえて) ・Flutter (Flutter拡張の標準 - iOS/Android環境のdebugをVSCode内でできるように) ・Flutter Riverpod Snippets (Riverpod用のsnippet) ・GitLens (Git用の拡張、VSCodeでdiffなどとれるように) ・Japanese Language Pack for Visual Studio Code (日本語対応拡張) ・json (json表示用拡張) ・Prettier (Javascript のフォーマッター) ・vscode-icons (エクスプローラー表示時にアイコン設定して分かりやすく) 設定 ・Editor:Font Size -> 16 (画面大きくして大きめにしている。この辺は好き好き) ・Editor:Font Family -> "Circle M+ 1m" を等幅のところに(全部こうしてもよい) ・Editor > Guides: Bracket Pairs -> true (ブラケットガイドを線でも表示) Terminal 側 の 設定 まずはXcode installして、CommandLineTool もインストールしておく ・Homebrew install -> git 設定 % git config -l credential.helper=osxkeychain url.https://<authkey>:x-oauth-basic@github.com/.insteadof=https://github.com/ user.name=<name> user.email=<mailaddress> core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true core.ignorecase=true core.precomposeunicode=true remote.origin.url=<url> remote.origin.fetch=+refs/heads/*:refs/remotes/origin/* branch.main.remote=origin branch.main.merge=refs/heads/main -> zsh, zsh-completions(zsh の補完ツール), zsh-git-prompt(git状態をzshで表示) ・PATH に M1MACなので、usr/local/bin だけではなくて /opt/homebrew/bin および /opt/homebrew/sbin を追加 設定 % cat .zshrc autoload -Uz colors && colors zstyle ":completion:*:commands" rehash 1 typeset -U path PATH path=( /opt/homebrew/bin(N-/) /opt/homebrew/sbin(N-/) /usr/bin /usr/sbin /bin /sbin /usr/local/bin(N-/) /usr/local/sbin(N-/) $HOME/.pub-cache/bin $HOME/fvm/default/bin /Library/Apple/usr/bin ) if type brew &>/dev/null; then FPATH=$(brew --prefix)/share/zsh-completions:$FPATH autoload -Uz compinit && compinit fi source "/opt/homebrew/opt/zsh-git-prompt/zshrc.sh" PROMPT='%F{034}%n%f %F{036}($(arch))%f:%F{020}%~%f $(git_super_status)' PROMPT+=""$'\n'"%# " -> dart ( brew tap dart-lang/dart して最新のに向けておきつつinstall ) ・PATHにpub用のを通してからfvmをinstallした方がいい $HOME/.pub-cache/bin -> fvm (これはpub経由なので、 pub global activate fvm ) -> flutter (fvm install <バージョン>, fvm use <バージョン>) これで、flutterの開発環境が整いました。 enjoy.
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Mac + VSCodeの作業環境で便利なキーボードショートカットまとめ

MacやVSCodeには便利なショートカットキーがたくさん用意されています。 使いこなすことで開発効率が格段に上がり作業が捗ると思います。 ただ使いたいと思った時にド忘れして、調べることが多々あるので毎回ググらなくてもいいように1つの記事に備忘録として残します。 Macの便利なショートカットキー コマンド 行われる操作 command + C コピー command + X カット command + V ペースト command + Z 直前動作の取り消し shift + command + Z 直前動作取り消しの取り消し command + F 検索ウィンド表示 command + P 書類の印刷 command + S 保存 command + T 新規タブを開く command + W 現在のウィンドウを閉じる option + command + W 全てのウィンドウを閉じる option + command + ◀️or▶️ 左右のタブに切り替え control + command + F アプリをフルスクリーンで表示 shift + command + 3 スクリーンショット撮影(フル画面) shift + command + 4 スクリーンショット撮影(範囲選択) Mac+VSCodeの便利なショートカットキー コマンド 行われる操作 control + Tab 直近で開いたファイルを表示 shift + option + F コードの整形 option + ⬆️or⬇️ 選択している行を上下に移動 shift + option + ⬆️or⬇️ 選択している行を上下にコピー shift + command + K 選択している行の削除 command + D 選択範囲と同じ文字列の複数指定 command + / 行コメントの切り替え command + F ファイル内検索 command + B サイドバーの表示/非表示 control + @ サイドバーの表示/非表示
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む