20190819のMacに関する記事は7件です。

英辞郎第十版をMacにインストール

書店で英辞郎 第十版 辞書データVer.151[2018年1月18日版] (DVD-ROM2枚付)を購入したのですが,Macにインストールしようとしたところ,
処理が終わっているにも関わらず,インストールできずでした...

Macにインストールする方法の備忘録です.

動作環境

  • macOS Mojave 10.14.6

インストール手順

  1. DVDを開く
  2. 画面で「英辞郎第十版.dictionary」がFinderに表示される
  3. Finderを選択して,「メニューバー」-「フォルダへ移動」
  4. 「フォルダの場所を入力:」というウィンドウが現れるので,「Library」と入力して「移動」を押す
  5. 「Dictionaries」フォルダがあるので,「英辞郎第十版.dictionary」をコピーする
  6. 「辞書」アプリで「環境設定」を開いて,辞書一覧から「英辞郎 第十版 (辞書データVer.151/2018年1月18日版)」が追加されているのでチェックして完了.
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

gem installに失敗するときの対処法(Mac)

はじめに

gem install {パッケージ} で様々なエラーが発生して苦戦したので、エラーの内容と解決策を共有します。

環境

  • OS:macOS Mojave 10.14.3
  • Ruby:2.6.3
  • RubyGems:3.0.3

Failed to load {.gemrcのパス} because it doesn't contain valid YAML hash エラー

不具合内容

gem install {パッケージ} で以下のエラーが発生する。

$ gem install {パッケージ}
Failed to load /Users/{ユーザー名}/.gemrc because it doesn't contain valid YAML hash

原因

空の .gemrc ファイルが存在するため。

解決策

空の .gemrc ファイルを削除する。

$ rm ~/.gemrc

Permission denied エラー

不具合内容

gem install {パッケージ} で以下のエラーが発生する。

$ gem install {パッケージ}
ERROR:  While executing gem ... (Errno::EACCES)
    Permission denied @ dir_s_mkdir - /Users/{ユーザー名}/.gem/specs

原因

.gem フォルダの所有者が root になっているため。
なぜ root になったかは不明。

$ cd ~
$ ls -la
…
drwxr-xr-x   3 root        {グループ}     96  8 19 18:59  .gem
…

解決策

.gem フォルダの所有者を自分に変更する。

$ sudo chown -R {ユーザー名} ~/.gem

参考リンク

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Macにpyenv + AnacondaでPython環境作成の備忘録

はじめに

  • Pythonをお勉強するため、Mac上にPython開発環境を整えてみたので、自分用の備忘録としてまとめました。
  • ゴールは、Anaconda(Python3系)をインストールしてJupyter Notebookで作業できるまでとしました。

動作環境

  • macOS Mojave 10.14.6

1. Homebrewのインストール

1-1. Homebrewとは

wikipedia
Mac OS X オペレーティングシステム上でソフトウェアの導入を単純化するパッケージ管理システムのひとつ。

  • パッケージをインストール、アンインストールできる管理システムのこと。

1-2. インストール方法

  1. Homebrewにアクセス。
  2. スクリプトをコピーし、ターミナルで実行。
  3. インストール確認。
bash
# スクリプト実行
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

# ログ
==> This script will install:
/usr/local/bin/brew
/usr/local/share/doc/homebrew
︙
==> The Xcode Command Line Tools will be installed.
# Xcode Command Line Toolsをインストールする場合は、RETURNを押下。
Press RETURN to continue or any other key to abort 
==> /usr/bin/sudo /bin/chmod u+rwx /usr/local/bin
# ログイン時のPasswordを入力
Password:
==> /usr/bin/sudo /bin/chmod g+rwx /usr/local/bin
︙
Already up-to-date.
==> Installation successful!

# インストール確認
$ brew --version
# ログ
Homebrew 2.1.9

2. pyenvのインストール

2-1. pyenvとは

  • Pythonのバージョンを管理できるコマンドラインツールのこと。

2-2. インストール方法

  1. Homebrewpyenvをインストール。
  2. インストール確認。
  3. pyenvにPathを通す。
  4. 設定(Path)の適用。
bash
# pyenvをインストール
$ brew install pyenv

# インストール確認
$ pyenv --version
# ログ
pyenv 1.2.13

# pyenvにPathを通す
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

# 設定の適用
$ source .bash_profile

3. Anacondaのインストール

3-1. Anacondaとは

wikipedia
データサイエンスおよび機械学習関連アプリケーション(大規模データ処理、予測分析(英語版)、科学計算)のためのPythonおよびRプログラミング言語のフリーでオープンソースのディストリビューションであり、パッケージ管理および展開の単純化を目指したものである。

  • 「Python」 + 「各種ライブラリ」をまとめて含んだパッケージのこと。

3-2. インストール方法

  1. pyenvでインストール可能なAnacondaを検索。
  2. Anacondaをインストール。
bash
# インストール可能なAnacondaを検索
$ pyenv install -l | grep anaconda

# ログ
anaconda-1.4.0
︙
anaconda2-5.0.0
︙
anaconda3-5.3.1

# インストール
$ pyenv install anaconda3-5.3.1

4. Anacondaで仮想環境を作成

作成方法

  1. condaで仮想環境を作成。
  2. 作成した仮想環境を作業ディレクトリで有効化(pyenv local)。
  3. activateで仮想環境を起動。
  4. Jupyter Notebookを起動。起動できればゴール。
bash
# Anacondaをglobalに切り替え
$ pyenv global anaconda3-5.3.1

# 仮想環境を作成
$ conda create --name anaconda_py3.6 python=3.6 anaconda

# 作成した仮想環境を作業用ディレクトリで有効化
$ mkdir Workspace
$ cd Workspace
$ pyenv local anaconda3-5.3.1/envs/anaconda_py3.6

# globalをsystemへ戻す
$ pyenv global system

# 作成した仮想環境をActivateで起動(フルパスで指定)
$ source $PYENV_ROOT/versions/anaconda3-5.3.1/bin/activate anaconda_py3.6

# 作業ディレクトリでjupyter Notebookを起動
$ cd Workspace
$ jupyter notebook
  • Jupyter Notebookを起動できればゴール。 jupyter notebook起動.png

5. Jupyter Notebookで仮想環境を指定する

  • 作成したAnacondaの仮想環境をJupyter Notebook上で指定できるようにする。

5-1. 設定方法

  • Anacondaのデフォルト環境:base(root)でJupyter Notebookに対するパッケージ追加とその設定を行う。
bash
# パッケージの追加
$ pip install environment_kernels

# 設定ファイルの生成
$ jupyter notebook --generate-config

# 設定を追加
$ echo "c.NotebookApp.kernel_spec_manager_class = 'environment_kernels.EnvironmentKernelSpecManager'" >> ~/.jupyter/jupyter_notebook_config.py
$ echo "c.EnvironmentKernelSpecManager.conda_env_dirs=['/Users/toyoizumi/.pyenv/versions/anaconda3-5.3.1/envs/']" >> ~/.jupyter/jupyter_notebook_config.py
  • Jupyter Notebookを起動して、「Kernel > Change kernel」からAnacondaで作った仮想環境(今回はanaconda_py3.6)が選択できればOK。 カーネル選択.png

6. 仮想環境の切り替え方法

  • 環境の切り替えは、activatepyenv localを併用。
bash
# Activateで指定環境を起動できる(フルパスで指定)
$ source $PYENV_ROOT/versions/anaconda3-5.3.1/bin/activate anaconda_py3.6

# 作業ディレクトリごとに仮想環境を指定できる
$ mkdir Workesapce
$ cd Workuspace
$ pyenv local anaconda3-5.3.1/envs/anaconda_py3.6

# Deactivateで環境を解除できる(フルパスで指定)
$ source $PYENV_ROOT/versions/anaconda3-5.3.1/bin/deactivate anaconda_py3.7
  • activateをフルパスで実行するのは煩わしいので、aliasを設定。
bash
# .bashrcにaliasを追加
$ echo 'alias activate="source $PYENV_ROOT/versions/anaconda3-5.3.1/bin/activate"' >> ~/.bashrc

# 設定の適用
$ source ~/.bashrc

# 「activate + 仮想環境名」で指定環境を起動出来る
$ activate anaconda_py3.6

# 指定環境でJupyter Notebookを起動出来る
$ jupyter notebook
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

macOSでDockerコマンドの入力補完を有効化する手順

1. bash-completionをインストールする

bash
$ brew install bash-completion

2. .bashrc.bash_profileに以下の内容を追加する

.bashrc
if [ -f `brew --prefix`/etc/bash_completion ]; then
    . `brew --prefix`/etc/bash_completion
fi
.bash_profile
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

3. Dockerのシンボリックリンクを追加する

bash
$ ln -s /Applications/Docker.app/Contents/Resources/etc/docker.bash-completion /usr/local/etc/bash_completion.d/docker
$ ln -s /Applications/Docker.app/Contents/Resources/etc/docker-machine.bash-completion /usr/local/etc/bash_completion.d/docker-machine
$ ln -s /Applications/Docker.app/Contents/Resources/etc/docker-compose.bash-completion /usr/local/etc/bash_completion.d/docker-compose

参考文献

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

MacでDockerコマンドの入力補完を有効化する手順

1. bash-completionをインストールする.

bash
$ brew install bash-completion

2. .bashrc.bash_profileに以下の内容を追加する.

.bashrc
if [ -f `brew --prefix`/etc/bash_completion ]; then
    . `brew --prefix`/etc/bash_completion
fi
.bash_profile
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

3. Dockerのシンボリックリンクを追加する.

bash
$ ln -s /Applications/Docker.app/Contents/Resources/etc/docker.bash-completion /usr/local/etc/bash_completion.d/docker
$ ln -s /Applications/Docker.app/Contents/Resources/etc/docker-machine.bash-completion /usr/local/etc/bash_completion.d/docker-machine
$ ln -s /Applications/Docker.app/Contents/Resources/etc/docker-compose.bash-completion /usr/local/etc/bash_completion.d/docker-compose

参考文献

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【最新サービス試用⑧】「単純明快・安全・高速」なURL短縮ツール「urlify.dev」をRubyで利用して、簡単短縮作業。

  • 日々輩出される素晴らしき最新サービスを素早く試して、不鮮明な先見性を堂々と誇示する記事第八弾。
  • 「余暇を増やして、サービス乱発試用にあてたい」という未来妄想を省けば、時間が増えることに気づこうとしない私。
  • 今回は、シンプルかつ便利な短縮URLツール「urlify.dev」をRubyで利用することにしよう。

試用サービス名

urlify.dev

概要

  • 無料かつ登録不要の短縮URLサービス。
  • シンプルかつ匿名性が高いため、「気軽・便利・安全」に利用できる。
  • 優れたAPIも提供しているため、プログラムやコマンドでの利用も可能。
  • ツールサイト

特徴

匿名性の高さ

  • 他ツールと違い、IPや登録ページ等のユーザー関連情報をログとして保存しないようになっている。

シンプル

  • 必要最低限の機能や出力のため、短縮機能として、シンプルで気軽に利用できる。

速度

  • 高速アクセスを実現しているAPIを提供しているため、手軽な短縮作業が可能。

提供セットの豊富さ

  • Webサービスでの短縮の際に、URLだけでなく下記の生成物や機能等を提供している。
    • QRコード
    • TwitterやFacebook等の各種SNS連携機能
    • API利用時のPHPチート(参考)コード

結果

  • 下記のように、「urlifyのAPIで結果を取得する処理」を記述したRubyファイルとURLを指定して、コマンドで実行すれば、簡単に短縮URLを返してくれる。

test.png

環境

  • Mac OS X 10.13.4
  • ruby 2.3.3
    • ※Rubyを利用するため、未導入の場合はこちらを参考にする。

手順

  • ※urlifyのサイトで紹介されているAPI利用の参考コードは、PHPでの記述のため、今回はRubyを利用した方法を試用していく。

Rubyファイルの作成

  • Rubyが利用できる状態であることを確認して、下記のコマンドをうち、作業フォルダ・ファイルを作成する。
# Rubyバージョン確認
$ ruby -v
# 作業フォルダ・ファイル作成作成
$ mkdir ~/short_script
$ touch ~/short_script/shorten.rb
# 作業フォルダへの移動
$ cd ~/short_script
  • Rubyファイルの作成後、ファイルの中身を下記にする。
~/short_script/shorten.rb
# 必要モジュール読み込み
require 'json'
require 'uri'
require 'net/http'

# コマンド引数で渡されるURL格納
url =ARGV[0]
# URL変換
encode_url = URI.encode(url)
# urlifyのAPIとしてのURLオブジェクト生成
short_url = URI.parse("https://urlify.dev/api/?url=#{encode_url}&method=json")
# API利用で取得したJSONデータを格納。
json = Net::HTTP.get(short_url)
# 取得JSON解析後、結果格納
result = JSON.parse(json)

# 結果出力
puts (result['short'].nil?) ? '短縮不可能' : "短縮前 : #{result['long']}\n短縮後 : #{result['short']}"

コマンド実行

  • 上記の手順でRubyファイルを記述後、ターミナルへ戻り、下記のようにファイル名と対象URLを指定して、Rubyファイルを実行する。
# 作業フォルダへの移動
$ cd ~/short_script
# Rubyファイル・対象URLを指定して実行
$ ruby shorten.rb https://qiita.com/t_o_d/items/d3799294a6a935f78f8f
  • 実行後、成功していれば結果として返ってくる短縮後のURLにアクセスして、きちんと表示されることを確認。

  • 表示されていれば完了。

まとめ

  • 今回は短縮作業ということで、このサービス利用の必要性を疑うような、短いURLでの利用も純粋に行いながら、記事を書く。
  • 「単純明快・安全」という謳い文句が量産すれば、正直信仰人間である私の激変生活は更に加速。
  • 「次回も謳い文句ありきのサービス試用になるだろう」という未来確定思考と、折り合いをつけながらツール調査を開始。

参考

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Flutterのセットアップ[Mac]でエラー多すぎて詰んだけどなんとかなった方法

IT系の会社に書類選考で受かり(フリーランス契約)、面接までにFlutterのセットアップをしてほしいと言われたので頑張ってみたらエラー多すぎて死にそうになりました。
でもなんとかなったのでメモとしてここに置いときます。同じように悩んでいる方がいたら参考になれば。
(もう朝だけど寝る前に覚えてるうちに書いとこうと思って書いたメモなので誤字脱字が多いと思いますが温かい目でスルーしてください)

はじめに

・MacOSはMojaveの最新版をインストール
・Xcodeをインストール
・Android Studioをダウンロード
を済ませます
多分大体の人は既に入っていると思うのでこの辺の説明は省きます

Android StudioにFlutterのプラグインをインストール

ConfigureからPluginsよりFlutter Pluginをインストールします
Flutter Pluginが出てこない人はAndroid Studioをアップデートすれば出てくるはずです

エミュレータの起動

ConfigureからAVD Managerを起動し、
Create Virtual DeviceでPxel 2を選択、PieのDownloadをし、進む、実行ボタンで起動します

動作確認

動くか確認します
Android Studioを改めて起動し、Start a new Flutter project からFlutter Applicationを作成します
Install SDK をダウンロード(画像の矢印のところからダウンロードページに飛べます)
スクリーンショット 2019-08-19 3.20.24.png

Flutter SDK pathには先程ダウンロードしたSDKファイルの場所を指定します。
Finishで起動できたら実行ボタンを押し、エミュレータでアプリが起動できれば成功です(私は数分かかりました 遅いと思ったらコンソールを確認して気長に待ちましょう)

隠しファイルを表示

.bash_profileというファイルを編集したいのですが、隠しファイルのため表示できません。
なので隠しファイルを表示できるようにしましょう。
ターミナルを起動し、

$ defaults write com.apple.finder AppleShowAllFiles -boolean true

を入力し、
処理が終わったら

$ killall Finder

を入力しましょう

.bash_profileの確認

まず.bash_profileが存在するか確認しましょう

$ ls -a

で、隠しファイルが表示されます
.bash_profileがあるかどうか確認しましょう
もしなければ

$ touch .bash_profile

で作れます

PATHを通す

.bash_profileの中身を編集しましょう

$ open .bash_profile

で、テキストエディットが.bash_profileを開いてくれます
そこに
export PATH=”$PATH:~/Documents/flutter/bin
と記入しましょう

ターミナルをもう一度起動し、

$ flutter

が起動すれば成功です

ライセンス認証

$ flutter doctor --android-licenses

を実行します

するとエラーが...(エラーが出ずにそのまま行けた人は次の項目まで飛ばしてください)

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
A newer version of the Android SDK is required. To update, run:
/Users/nanaho/Library/Android/sdk/tools/bin/sdkmanager --update

これによるとエラーは

$ /Users/nanaho/Library/Android/sdk/tools/bin/sdkmanager --update

と打つと回避できるらしいです
これでもまたエラー出た!!!って焦った方、安心してください、私もです
(エラーが出ずにそのまま行けた人は次の項目まで飛ばしてください)

私の出たエラーはこちら↓

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
    at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
    at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
    at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
    at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
    at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
    ... 5 more

調べた結果、現在のSDKのバージョンはJava9より上のバージョンにはに対応しておらず、Java8でないと動かないらしいです。

現在のJavaのバージョンを確認してみましょう

$ java -version

9以降のバージョンであれば、Javaのバージョンが原因です

$ /usr/libexec/java_home -V

で、インストールされているJDKのバージョンが表示されます。
もしそのなかにJava8("Java SE 8")がなければインストールしましょう

(Java8を既に持っている方は・・・まで飛ばしてください 切替方法を記載します)

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
こちらからJava SE Development Kit 8u221を自分の機種に合わせてインストールします
(Oracleのアカウントが必要なのでログインまたは登録しましょう)

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

Javaのバージョンを切り替えます

$ export JAVA_HOME=`/usr/libexec/java_home -v 1.8.0`

一応切り替わっているか確認しましょう

$ java -version

java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)

と出てくれば成功です

これでエラーのエラー(/Users/nanaho/Library/Android/sdk/tools/bin/sdkmanager --updateのエラー)を回避できる条件が達成しました!!!
早速もう一度打ってみましょう

$ /Users/nanaho/Library/Android/sdk/tools/bin/sdkmanager --update

(y/n)の確認が多いですがyとエンターを押していきましょう
エラーも出ず無事できました!

これでエラー(flutter doctor --android-licensesのエラー)を回避できる条件が達成しました!!!
早速もう一度打ってみましょう

$ flutter doctor --android-licenses

成功しました!

Flutter Doctorの実行

これでついに終わりです やっと寝れます

$ flutter doctor

を入力するだけです
成功した方はおめでとうございます。セットアップは終了です。
エラーした方、安心してください、私もです(2回目)
↓エラー文

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
Doctor summary (to see all details, run flutter doctor -v):

Oops; flutter has exited unexpectedly.
Crash report written to /Users/nanaho/flutter_03.log;
please let us know at https://github.com/flutter/flutter/issues.

MacOSをアップデートするとなるらしいです。
xcodeを再インストールすると治るっぽい。

$ xcode-select --install

割と時間かかります。あるあるの予想時間がどんどん増えていくやつです。
インストールが終わったらもう一度入力しましょう

$ flutter doctor

Building flutter tool...と表示されれば成功です。長いですが待ちましょう。

[✗]や[!]の項目が出たら最後の気合を振り絞って解決しましょう
何がだめなのか詳細に書いてくれているので和訳すれば解決方法がすぐわかります。(実際にすんなりできました)
[!] Connected device
! No devices available

というエラーは、Android Studioでエミュレータを起動させると解決します(ので、無視しても大丈夫ですが一応起動してエラーが消えるか確認しておきましょう)

終了

おつかれさまでした!セットアップはすべて終了です
やっぱりなんでもセットアップが一番めんどくさいですね
もう寝ます

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む