- 投稿日:2019-08-30T21:41:53+09:00
Homebrewの基本操作
Homebrewの基本操作
インストール可能なパッケージを確認する
$ brew search wget ==> Formulae wget ✓ wgetpaste上記のコマンドでwgetが含まれるパッケージが表示されます。
「✔︎」がついてるものはすでにインストールされているということになります。逆についてないと、未インストールということになります。
ちなみに、ログに記載のあるFormulaeはHomebrewの用語でパッケージのことをさします。異常確認
$brew doctor Your system is ready to brew.Homebrewに異常がないかを確認するためのコマンドです。
上記のような表示だと問題ありません。
異常がある場合は指示がログに残るので、その時は確認してください。バージョンを確認する
$ brew --version Homebrew 2.0.6 Homebrew/homebrew-core (git revision 4050; last commit 2019-04-03)上記のコマンドでHomebrewのバージョンを確認できます。
インストール済みのパッケージ一覧を確認
$ brew list gettext libidn2 libunistring openssl wget上記のコマンドでパッケージの一覧を確認できます。
いくつかパッケージが確認できますが、これはwgetをインストールした際に依存関係にあるパッケージが自動インストールされたものも含まれます。インストール済みのパッケージの起動状況を確認
$ brew services list Name Status User Plist postgresql started (ユーザー名) /Users/(ユーザー名)/Library/LaunchAgents/homebrew.mxcl.postgresql.plist redis stopped上記のコマンドを実行すると、現在バックグラウンドで起動しているようなものの起動状況が確認できます。
パッケージ情報を確認
$ brew info wget wget: stable 1.20.1 (bottled), HEAD Internet file retriever https://www.gnu.org/software/wget/ /usr/local/Cellar/wget/1.19.5 (50 files, 3.7MB) * Poured from bottle on 2018-06-08 at 17:04:24 From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/wget.rb ==> Dependencies Build: pkg-config Required: libidn2 ✘, openssl ==> Options --HEAD Install HEAD version ==> Analytics install: 134,032 (30 days), 480,367 (90 days), 1,454,711 (365 days) install_on_request: 120,534 (30 days), 421,140 (90 days), 1,275,412 (365 days) build_error: 0 (30 days)上記のようにこのコマンドを叩くことで、パッケージ情報を確認することができます。
更新のあるパッケージを確認
$ brew outdated上記のコマンドでアップデートが溜まっているパッケージを確認できます。
パッケージを更新
//パッケージ全部 $ brew upgrade //パッケージ指定 $ brew upgrade パッケージ名上記のコマンドでパッケージを更新できます。
古いバージョンのパッケージの削除
//古いバージョンのパッケージの削除 $ brew cleanup //削除対象のパッケージと容量を確認 $ brew cleanup -n上記のコードで古いバージョンのパッケージの削除や確認を行います。
パッケージのアンインストール
$ brew uninstall パッケージ名上記のコマンドでパッケージをアンインストールできます。
Homebrewのアンインストール
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"上記のコードを実行することで、Homebrewとインストールしたパッケージも同時にアンインストールできます。
このコマンドを実行すると、アンインストールするファイルの一覧が表示されてから確認を挟んでくれます。
- 投稿日:2019-08-30T21:08:42+09:00
Homebrewのインストール方法(For:Mac)
Homebrewとは
HomebrewはMacOS用のパッケージ管理システムです。
このパッケージ管理システムというのは、パケージをインストールしてりインストールしたり、アンインストールできるシステムのことです。特徴
Homebrewの特徴は、
・1行叩くだけでパッケージがインストールできる
・パッケージの依存関係も管理してくれるというような点が挙げられます。
上記で述べた依存関係というのは、例えばAというパッケージを使うためにはBがインストールされている必要があるとします。そのような場合、当然まず最初にBをインストールしてから、Aをインストールする必要がありますが、Homebrewを使用すればAをインストールするだけで、Bも自動的にインストールしてくれます。これが依存関係を管理してくれるということです。結果的には必要なパッケージのインストールコマンドのみ叩けばいいので、1行叩くだけで作業が済みます。今回の実行環境
MacOS Mojave 10.41.1
Homebrewをインストールする手順
Homebrewインストールの手順は大きく分けて3段階です。
1 インストール用のスクリプトをコピペで実行
2 Xcode Command Line Toolsのインストール
3インストールできたかを確認以上です!
1 スクリプト実行
Homebrew公式サイトにアクセスしていただき、赤枠で囲んでいるコマンドをコピペしてターミナルに打ち込みます。/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"上記のコードを叩くわけですが、見てみるとrubyのコードで書かれています。一見rubyをインストールしていない端末だと、リジェクトされてしまいそうですが、Macには標準でrubyがインストールされているので問題ありまっせん。
$ /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 /usr/local/share/man/man1/brew.1 /usr/local/share/zsh/site-functions/_brew /usr/local/etc/bash_completion.d/brew /usr/local/Homebrew ==> The following existing directories will be made group writable: /usr/local/bin /usr/local/share /usr/local/share/man /usr/local/share/man/man1 ==> The following existing directories will have their owner set to user-name: /usr/local/bin /usr/local/share /usr/local/share/man /usr/local/share/man/man1 ==> The following existing directories will have their group set to admin: /usr/local/bin /usr/local/share /usr/local/share/man /usr/local/share/man/man1 ==> The following new directories will be created: /usr/local/Cellar /usr/local/Homebrew /usr/local/Frameworks /usr/local/etc /usr/local/include /usr/local/lib /usr/local/opt /usr/local/sbin /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var ==> The Xcode Command Line Tools will be installed. Press RETURN to continue or any other key to abort Copy上記が実行結果になります。
以上のようにログに表示されたら問題ありません。2 Xcode Command Line Toolsのインストール
==> The Xcode Command Line Tools will be installed. Press RETURN to continue or any other key to abort Copy先ほどの実行ログの最後から3行目に上記のような記述があります。
これを訳しますと、「Xcode Command Line Toolsをインストールされます。続ける場合RETURNを押してください。」と書いてあります。指示通りRETURNキーを押すと、その直後にパスワードの入力を求められるので、Macの画面のロックを解除するパスワードを入力しましょう。
これでXcode Command Line Toolsがインストールされます。==> /usr/bin/sudo /bin/chmod u+rwx /usr/local/bin /usr/local/share /usr/local/share/man /usr/local/share/man/man1 Password: ==> /usr/bin/sudo /bin/chmod g+rwx /usr/local/bin /usr/local/share /usr/local/share/man /usr/local/share/man/man1 ==> /usr/bin/sudo /usr/sbin/chown user-name /usr/local/bin /usr/local/share /usr/local/share/man /usr/local/share/man/man1 ︙ ︙ Resolving deltas: 100% (56/56), done. Tapped 4572 formulae (4,825 files, 12.2MB) ==> Cleaning up /Library/Caches/Homebrew... ==> Migrating /Library/Caches/Homebrew to /Users/user-name/Library/Caches/Homebrew... ==> Deleting /Library/Caches/Homebrew... Already up-to-date. ==> Installation successful! ==> Homebrew has enabled anonymous aggregate user behaviour analytics. Read the analytics documentation (and how to opt-out) here: https://docs.brew.sh/Analytics.html ==> Next steps: - Run `brew help` to get started - Further documentation: https://docs.brew.sh上記のようにログに表示されたらインストール完了です。
3 確認
$ brew help Example usage: brew search [TEXT|/REGEX/] brew info [FORMULA...] brew install FORMULA... brew update brew upgrade [FORMULA...] brew uninstall FORMULA... brew list [FORMULA...] Troubleshooting: brew config brew doctor brew install --verbose --debug FORMULA Contributing: brew create [URL [--no-fetch]] brew edit [FORMULA...] Further help: brew commands brew help [COMMAND] man brew https://docs.brew.shbrew helpコマンドを実行したら、上記のようにhome brew一覧が表示されたら正常にインストールされています。
パッケージをインストールしてみる
//wgetがインストール名 brew install wget上記のコマンドでインストールします。
$ brew install wget ==> Installing dependencies for wget: gettext, libunistring, libidn2, openssl ==> Installing wget dependency: gettext ==> Downloading https://homebrew.bintray.com/bottles/gettext-0.19.8.1.high_sierr ######################################################################## 100.0% ︙ ︙ ==> Summary /usr/local/Cellar/openssl/1.0.2o_1: 1,791 files, 12.3MB ==> Installing wget ==> Downloading https://homebrew.bintray.com/bottles/wget-1.19.5.high_sierra.bot ######################################################################## 100.0% ==> Pouring wget-1.19.5.high_sierra.bottle.tar.gz /usr/local/Cellar/wget/1.19.5: 50 files, 3.7MB上記のような表示で、無事にインストールされています。
最後に
今回はHomebrewのインストール方法を紹介しましたが、Linux用のLinuxbrewも存在していてるので、それと混同し内容気をつけてください。
- 投稿日:2019-08-30T13:15:18+09:00
LightGBMがimportできない場合
Macで機械学習しているときにLightGBMを使おうとすると
[2019-08-30 13:08:07,214] ERROR in app: Exception on / [GET] Traceback (most recent call last): File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/flask/app.py", line 2292, in wsgi_app response = self.full_dispatch_request() File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/flask/app.py", line 1815, in full_dispatch_request rv = self.handle_user_exception(e) File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/flask/app.py", line 1718, in handle_user_exception reraise(exc_type, exc_value, tb) File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/flask/_compat.py", line 35, in reraise raise value File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/flask/app.py", line 1813, in full_dispatch_request rv = self.dispatch_request() File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/flask/app.py", line 1799, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/lightgbm/__init__.py", line 8, in <module> from .basic import Booster, Dataset File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/lightgbm/basic.py", line 34, in <module> _LIB = _load_lib() File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/lightgbm/basic.py", line 29, in _load_lib lib = ctypes.cdll.LoadLibrary(lib_path[0]) File "/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ctypes/__init__.py", line 442, in LoadLibrary INFO 2019-08-30 04:08:07,234 module.py:861] default: "GET / HTTP/1.1" 500 290 return self._dlltype(name) File "/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ctypes/__init__.py", line 364, in __init__ self._handle = _dlopen(self._name, mode) OSError: dlopen(/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/lightgbm/lib_lightgbm.so, 6): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib Referenced from: /private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/lightgbm/lib_lightgbm.so Reason: image not found ^CINFO 2019-08-30 04:08:26,325 datastore_emulator.py:187] shutting down the emulator running at http://localhost:15383 OSError: dlopen(/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/lightgbm/lib_lightgbm.so, 6): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib Referenced from: /private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/lightgbm/lib_lightgbm.so Reason: image not foundみたいなエラーが出る時がある。
$ pip install lightgbm自体は問題ないので、Clang系のライブラリ依存を解決しないといけない。
$ brew install libomp通常は上記のインストールでうまくいく。
- 投稿日:2019-08-30T13:15:18+09:00
LightGBMをimportできない場合
Macで機械学習しているときにLightGBMを使おうとすると
[2019-08-30 13:08:07,214] ERROR in app: Exception on / [GET] Traceback (most recent call last): File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/flask/app.py", line 2292, in wsgi_app response = self.full_dispatch_request() File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/flask/app.py", line 1815, in full_dispatch_request rv = self.handle_user_exception(e) File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/flask/app.py", line 1718, in handle_user_exception reraise(exc_type, exc_value, tb) File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/flask/_compat.py", line 35, in reraise raise value File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/flask/app.py", line 1813, in full_dispatch_request rv = self.dispatch_request() File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/flask/app.py", line 1799, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/lightgbm/__init__.py", line 8, in <module> from .basic import Booster, Dataset File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/lightgbm/basic.py", line 34, in <module> _LIB = _load_lib() File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/lightgbm/basic.py", line 29, in _load_lib lib = ctypes.cdll.LoadLibrary(lib_path[0]) File "/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ctypes/__init__.py", line 442, in LoadLibrary INFO 2019-08-30 04:08:07,234 module.py:861] default: "GET / HTTP/1.1" 500 290 return self._dlltype(name) File "/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ctypes/__init__.py", line 364, in __init__ self._handle = _dlopen(self._name, mode) OSError: dlopen(/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/lightgbm/lib_lightgbm.so, 6): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib Referenced from: /private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/lightgbm/lib_lightgbm.so Reason: image not found ^CINFO 2019-08-30 04:08:26,325 datastore_emulator.py:187] shutting down the emulator running at http://localhost:15383 OSError: dlopen(/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/lightgbm/lib_lightgbm.so, 6): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib Referenced from: /private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/lightgbm/lib_lightgbm.so Reason: image not foundみたいなエラーが出る時がある。
$ pip install lightgbm自体は問題ないので、Clang系のライブラリ依存を解決しないといけない。
$ brew install libomp通常は上記のインストールで解決する。
- 投稿日:2019-08-30T13:15:18+09:00
LightGBMのimportでエラー
Macで機械学習しているときにLightGBMを使おうとすると
[2019-08-30 13:08:07,214] ERROR in app: Exception on / [GET] Traceback (most recent call last): File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/flask/app.py", line 2292, in wsgi_app response = self.full_dispatch_request() File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/flask/app.py", line 1815, in full_dispatch_request rv = self.handle_user_exception(e) File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/flask/app.py", line 1718, in handle_user_exception reraise(exc_type, exc_value, tb) File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/flask/_compat.py", line 35, in reraise raise value File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/flask/app.py", line 1813, in full_dispatch_request rv = self.dispatch_request() File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/flask/app.py", line 1799, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/lightgbm/__init__.py", line 8, in <module> from .basic import Booster, Dataset File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/lightgbm/basic.py", line 34, in <module> _LIB = _load_lib() File "/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/lightgbm/basic.py", line 29, in _load_lib lib = ctypes.cdll.LoadLibrary(lib_path[0]) File "/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ctypes/__init__.py", line 442, in LoadLibrary INFO 2019-08-30 04:08:07,234 module.py:861] default: "GET / HTTP/1.1" 500 290 return self._dlltype(name) File "/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ctypes/__init__.py", line 364, in __init__ self._handle = _dlopen(self._name, mode) OSError: dlopen(/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/lightgbm/lib_lightgbm.so, 6): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib Referenced from: /private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/lightgbm/lib_lightgbm.so Reason: image not found ^CINFO 2019-08-30 04:08:26,325 datastore_emulator.py:187] shutting down the emulator running at http://localhost:15383 OSError: dlopen(/private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/lightgbm/lib_lightgbm.so, 6): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib Referenced from: /private/var/folders/59/gg2vm1h52x7fz0254tg9x29c0000gn/T/tmpjI55tQ/lib/python3.7/site-packages/lightgbm/lib_lightgbm.so Reason: image not foundみたいなエラーが出る時がある。
$ pip install lightgbm自体は問題ないので、Clang系のライブラリ依存を解決しないといけない。
$ brew install libomp通常は上記のインストールで解決する。
- 投稿日:2019-08-30T12:09:19+09:00
Composerを利用してLaravelをインストールしつつ同時にやったこと(メモ)
Composerを使ってLaravelをインストールしたときに並行してやったことがいくつかあるので、それの個人的な覚書です。環境は以下の通り。
- Mac OS Mojave (バージョン 10.14.3)
- MacBook Pro (Retina, 13-inch, Early 2015)
Composerのインストール
Composerは、PHPのパッケージ管理システムあらため、依存関係解決ツールのこと。プロジェクトで使用するライブラリやパッケージを管理してくれ、こちらがあまり意識しなくても必要な時に、必要なバージョンのライブラリなりを一緒にダウンロードしてきてくれる。あるライブラリを使うには他のあるライブラリが必要で・・・みたいなときに丸っと面倒を見てくれるわけだが、その依存関係について詳しくは他の方の記事を参考に。
参考:
composerとは?
PHP開発でComposerを使わないなんてありえない!基礎編
composerとは
PHPのライブラリ管理ツール「Composer」入門プロジェクトごとにComposerをインストールする(ローカル)かPC全体で共有する(グローバル)かは、どのディレクトリにインストールするかで変わってくる。いったん自分はユーザーホームのディレクトリに入れることにする。
Composerインストールのコマンドはこちら。sudo curl -sS https://getcomposer.org/installer | phpバージョンが変わればURL等も変化するかもしれないので、公式サイトも要確認。
Mac, Linux系のインスタレーションはこちら。
https://getcomposer.org/doc/00-intro.md#installation-linux-unix-macosComposerインストール後は、インスタレーションにもあるように composer.phar のファイルを移動する。そうすることで、どこからでもcomposerのコマンドを実行できる。
mv composer.phar /usr/local/bin/composerComposerの光遅い問題について
Composerを使っていると、遅い!と感じる人が一定以上いるらしい。
アジア圏に顕著で、Composerを走らせたときに参照されるサーバは北米やフランスにあるので物理的な距離の問題があるし、光ファイバーとか使っても必要な数々のリクエストをこなすためには地球何周分もの距離をデータが行き来することになって光というものの速度自体が速くならない限り速くするのは無理、という結論にぶち当たるらしい。そこで、Composerを速くするための対応策として国内ミラーと高速化プラグインを作った方がいらっしゃる。
3年くらい前の出来事だけど今でも有用と思われるし、そのプラグインはまだComposer本体にはマージされていないので、詳しくはご本人のスライドや他の方のまとめを読むと良いと思う。スライドは最後まで見るとちょっと感動する。なお国内のミラーに参照先を変える&高速化プラグインインストールには、Composer本体をインストール済みの人であれば、以下のコマンドを走らせるだけでOK。
composer config -g repos.packagist composer https://packagist.jp && composer global require hirak/prestissimo参考:
Composerを速くするために必要だったもの/composer-keynote
composerの遅さをまじめに考える #phpstudy
光遅い問題を克服してcomposerを10倍速くした話
光遅い問題に対応して Composer を100倍速くする
Composerの実行速度を高速化する方法
GitHub: Composer/Parallel downloader #5293
curl を使って composer update を 2 倍速くする
composer searchが非常に遅い件
composer searchが速くなってた
PHPの生みの親,ラスマス・ラードフ氏インタビューLaravel Debugbarのインストール
Laravelでの開発に便利そうなので導入。
インストールコマンドは下記だが、--devのオプションがないと本番環境で実行されてパスワードが丸見えになるとかなんとか。
composer require barryvdh/laravel-debugbar --devDebugbarを無効にしたいときは.envに以下を挿入。true/falseで切り替え可能。
DEBUGBAR_ENABLED=false本番環境でも使いたいとか、詳細や各種設定値は、参考記事がとてもきれいにまとまっていたので割愛。
参考:
Laravel5.7: Laravel Debugbarを使う
laravel5.6, 5.7 laravel-debugarを導入する!
laravelデバッグバーの導入今日はそんな感じです。
- 投稿日:2019-08-30T12:09:19+09:00
Laravelインストール前後にやったこと:Composerインストール・Composer高速化・Laravelデバッグツールの導入(メモ)
Laravelをインストールしたときに並行してやったことがいくつかあるので、それの個人的な覚書です。環境は以下の通り。
- Mac OS Mojave (バージョン 10.14.3)
- MacBook Pro (Retina, 13-inch, Early 2015)
Laravelインストール前
Composerのインストール
Laravelをインストールするのに必要なステップ。Composerは、PHPのパッケージ管理システムあらため、依存関係解決ツールのこと。プロジェクトで使用するライブラリやパッケージを管理してくれ、こちらがあまり意識しなくても必要な時に、必要なバージョンのライブラリなりを一緒にダウンロードしてきてくれる。あるライブラリを使うには他のあるライブラリが必要で・・・みたいなときに丸っと面倒を見てくれるわけだが、その依存関係について詳しくは他の方の記事を参考に。
参考:
composerとは?
PHP開発でComposerを使わないなんてありえない!基礎編
composerとは
PHPのライブラリ管理ツール「Composer」入門プロジェクトごとにComposerをインストールする(ローカル)かPC全体で共有する(グローバル)かは、どのディレクトリにインストールするかで変わってくる。いったん自分はユーザーホームのディレクトリに入れることにする。
Composerインストールのコマンドはこちら。sudo curl -sS https://getcomposer.org/installer | phpバージョンが変わればURL等も変化するかもしれないので、公式サイトも要確認。
Mac, Linux系のインスタレーションはこちら。
https://getcomposer.org/doc/00-intro.md#installation-linux-unix-macosComposerインストール後は、インスタレーションにもあるように composer.phar のファイルを移動する。そうすることで、どこからでもcomposerのコマンドを実行できる。
mv composer.phar /usr/local/bin/composerComposerの光遅い問題への対応
Composerを使っていると、遅い!と感じる人が一定以上いるらしい。
アジア圏に顕著で、Composerを走らせたときに参照されるサーバは北米やフランスにあるので物理的な距離の問題があるし、光ファイバーとか使っても必要な数々のリクエストをこなすためには地球何周分もの距離をデータが行き来することになって光というものの速度自体が速くならない限り速くするのは無理、という結論にぶち当たるらしい。そこで、Composerを速くするための対応策として国内ミラーと高速化プラグインを作った方がいらっしゃる。
3年くらい前の出来事だけど今でも有用と思われるし、そのプラグインはまだComposer本体にはマージされていないので、詳しくはご本人のスライドや他の方のまとめを読むと良いと思う。スライドは最後まで見るとちょっと感動する。なお国内のミラーに参照先を変える&高速化プラグインインストールには、Composer本体をインストール済みの人であれば、以下のコマンドを走らせるだけでOK。
Laravelのインストールに絶対に必要というわけではないが、なんならLaravelインストール後でも大丈夫なのでやっておいて損はないと思う。composer config -g repos.packagist composer https://packagist.jp && composer global require hirak/prestissimo参考:
Composerを速くするために必要だったもの/composer-keynote
composerの遅さをまじめに考える #phpstudy
光遅い問題を克服してcomposerを10倍速くした話
光遅い問題に対応して Composer を100倍速くする
Composerの実行速度を高速化する方法
GitHub: Composer/Parallel downloader #5293
curl を使って composer update を 2 倍速くする
composer searchが非常に遅い件
composer searchが速くなってた
PHPの生みの親,ラスマス・ラードフ氏インタビューLaravelインストール後
Laravel Debugbarのインストール
Laravelでの開発に便利そうなので導入。
インストールコマンドは下記だが、--devのオプションがないと本番環境で実行されてパスワードが丸見えになるとかなんとか。
composer require barryvdh/laravel-debugbar --devDebugbarを無効にしたいときは.envに以下を挿入。true/falseで切り替え可能。
.envDEBUGBAR_ENABLED=false本番環境でも使いたいとか、詳細や各種設定値は、参考記事がとてもきれいにまとまっていたので割愛。
参考:
Laravel5.7: Laravel Debugbarを使う
laravel5.6, 5.7 laravel-debugarを導入する!
laravelデバッグバーの導入今日はそんな感じです。
- 投稿日:2019-08-30T09:45:02+09:00
Macアプリ初心者:NSMenu について調べてみる1
今回は NSMenu について調べてみました。
前回作成したプロジェクトでも Cococa アプリを作るとデフォルトでメニューが用意されます。環境
- macOS Mojave:10.14.6
- Xcode:10.3
画面イメージ
Xcode
アプリ
それぞれの機能の解説
アプリ名のメニュー
- About NSTableViewSample:アプリ名やバージョンなどの情報を表示するWindowを表示
- Preferences...:環境設定(初期値では Disabled)
- Services:ActivityMonitor などの Development ツールの一覧が表示
- Hide NSTableViewSample:自アプリを非表示
- Hide Others:他のアプリを全て非表示
- Show All:「Hide」「Hide Others」で隠れたアプリを全て表示
- Quit NSTableViewSample:アプリを終了
File
* New:新規作成(初期値では Disabled)
* Open:ファイルを開く(初期値では Disabled)
* Open Recent:最近開いたファイル(初期値では Clear Menu のみ)
* Close:アプリを閉じる
* Save...:保存(初期値では Disabled)
* Save As...:名前をつけて保存(初期値では Disabled)
* Page Setup...:印刷用?のページの設定、余白など(初期値では Disabled)
* Print:印刷Edit
* Undo:元に戻す(サンプルアプリにテキストを入力する機能がないため要調査)
* Redo:やり直す(サンプルアプリにテキストを入力する機能がないため要調査)
* Cut:切り取り(サンプルアプリにテキストを入力する機能がないため要調査)
* Copy:コピー(サンプルアプリにテキストを入力する機能がないため要調査)
* Paste:貼り付け(サンプルアプリにテキストを入力する機能がないため要調査)
* Paste and Match Style:貼り付けてスタイルを合わせる(サンプルアプリにテキストを入力する機能がないため要調査)
* Delete:削除(サンプルアプリにテキストを入力する機能がないため要調査)
* Select All:全て選択(サンプルアプリにテキストを入力する機能がないため要調査)
* Find:検索(サンプルアプリにテキストを入力する機能がないため要調査)
* Spelling and Grammar:スペルと文法
* Substitutions:置換(サンプルアプリにテキストを入力する機能がないため要調査)
* Transformations:テキストを変換(サンプルアプリにテキストを入力する機能がないため要調査)
* Speech:テキストの読み上げ(サンプルアプリにテキストを入力する機能がないため要調査)
* Start Dictation...:音声入力
* Emoji & Simbols:絵文字バレット表示
Format
* Font:テキストのフォント(サンプルアプリにテキストを入力する機能がないため要調査)
* Text:テキストの属性(サンプルアプリにテキストを入力する機能がないため要調査)
View
* Show Tab Bar:タブバーを表示(初期値ではWindowラベルを表示)
* Show All Tabs:全てのタブを表示(初期値では Disabled)
* Show Toolbar:ツールバーを表示(初期値では Disabled)
* Customize Toolbar...:ツールバーをカスタマイズ(初期値では Disabled)
* Show Sidebar:サイドバーを表示(初期値では Disabled)
* Enter Full Screen:フルスクリーン表示Window
* Minimize:最小表示(Dockに格納)
* Zoom:全Window表示
* Show Previous Tab:前のタブを表示
* Show Next Tab:次のタブを表示
* Move Tab to New Window:新しいWindowでタブを開く
* Merge All Window:全てのWindowをタブで表示
* Bring All to Front:最前面に表示
* 開いているWindow一覧Help
* Search TextFiedlds:ヘルプを検索
* NSTableViewSample Help:ヘルプを表示デフォルトで作成されるメニューでも色々な機能が組み込まれていて便利そうです。
今後はメニューのアクションをどうやって作るかについて調べたいと思います。よろしければ いいね お願いします。
- 投稿日:2019-08-30T09:45:02+09:00
Macアプリ初心者:NSMenu について調べてみる
今回は NSMenu について調べてみました。
前回作成したプロジェクトでも Cococa アプリを作るとデフォルトでメニューが用意されます。環境
- macOS Mojave:10.14.6
- Xcode:10.3
画面イメージ
Xcode
アプリ
それぞれの機能の解説
アプリ名のメニュー
- About NSTableViewSample:アプリ名やバージョンなどの情報を表示するWindowを表示
- Preferences...:環境設定(初期値では Disabled)
- Services:ActivityMonitor などの Development ツールの一覧が表示
- Hide NSTableViewSample:自アプリを非表示
- Hide Others:他のアプリを全て非表示
- Show All:「Hide」「Hide Others」で隠れたアプリを全て表示
- Quit NSTableViewSample:アプリを終了
File
* New:新規作成(初期値では Disabled)
* Open:ファイルを開く(初期値では Disabled)
* Open Recent:最近開いたファイル(初期値では Clear Menu のみ)
* Close:アプリを閉じる
* Save...:保存(初期値では Disabled)
* Save As...:名前をつけて保存(初期値では Disabled)
* Page Setup...:印刷用?のページの設定、余白など(初期値では Disabled)
* Print:印刷Edit
* Undo:元に戻す(サンプルアプリにテキストを入力する機能がないため要調査)
* Redo:やり直す(サンプルアプリにテキストを入力する機能がないため要調査)
* Cut:切り取り(サンプルアプリにテキストを入力する機能がないため要調査)
* Copy:コピー(サンプルアプリにテキストを入力する機能がないため要調査)
* Paste:貼り付け(サンプルアプリにテキストを入力する機能がないため要調査)
* Paste and Match Style:貼り付けてスタイルを合わせる(サンプルアプリにテキストを入力する機能がないため要調査)
* Delete:削除(サンプルアプリにテキストを入力する機能がないため要調査)
* Select All:全て選択(サンプルアプリにテキストを入力する機能がないため要調査)
* Find:検索(サンプルアプリにテキストを入力する機能がないため要調査)
* Spelling and Grammar:スペルと文法
* Substitutions:置換(サンプルアプリにテキストを入力する機能がないため要調査)
* Transformations:テキストを変換(サンプルアプリにテキストを入力する機能がないため要調査)
* Speech:テキストの読み上げ(サンプルアプリにテキストを入力する機能がないため要調査)
* Start Dictation...:音声入力
* Emoji & Simbols:絵文字バレット表示
Format
* Font:テキストのフォント(サンプルアプリにテキストを入力する機能がないため要調査)
* Text:テキストの属性(サンプルアプリにテキストを入力する機能がないため要調査)
View
* Show Tab Bar:タブバーを表示(初期値ではWindowラベルを表示)
* Show All Tabs:全てのタブを表示(初期値では Disabled)
* Show Toolbar:ツールバーを表示(初期値では Disabled)
* Customize Toolbar...:ツールバーをカスタマイズ(初期値では Disabled)
* Show Sidebar:サイドバーを表示(初期値では Disabled)
* Enter Full Screen:フルスクリーン表示Window
* Minimize:最小表示(Dockに格納)
* Zoom:全Window表示
* Show Previous Tab:前のタブを表示
* Show Next Tab:次のタブを表示
* Move Tab to New Window:新しいWindowでタブを開く
* Merge All Window:全てのWindowをタブで表示
* Bring All to Front:最前面に表示
* 開いているWindow一覧Help
* Search TextFiedlds:ヘルプを検索
* NSTableViewSample Help:ヘルプを表示デフォルトで作成されるメニューでも色々な機能が組み込まれていて便利そうです。
今後はメニューのアクションをどうやって作るかについて調べたいと思います。よろしければ いいね お願いします。