Mac」タグアーカイブ

個人的にgitignoreのリストを作ってみました。

個人的にgitignoreのリストを作ってみました。

全部はいってますが、必要分を削って使っています。

GitHub : TakamoriYamashiro/mygitignore

#---------------- About files
*.log
*.sql
*.sqlite


#---------------- OS generated files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
Icon?
ehthumbs.db
Thumbs.db


#---------------- npm specific files
# package.json
# gulpfile.js
package-lock.json
node_modules/


#---------------- bower specific files
# bower.json
bower_components/


#---------------- Apache specific files
.htaccess
.htpasswd


#---------------- WordPress specific files
**/wp-config.php
**/wp-content/uploads
**/wp-content/themes/twenty*
**/wp-content/backup-db
**/wp-content/backups
**/wp-content/cache
**/wp-content/upgrade
**/wp-content/uploads
**/wp-content/wp-cache-config.php
**/wp-content/plugins/hello.php


#---------------- CakePHP specific files
/config/app.php
/config/.env
/tmp/*
/logs/*
/tmp/*
/vendor/*


#---------------- Tool specific files
*~ # vim
*.swp # vim
*.swo # vim
*.sublime-* # sublime text
*.komodoproject
*.tmlanguage.cache # sublime text & textmate
*.tmPreferences.cache # sublime text & textmate
*.stTheme.cache # cache files for sublime text
.settings/* # Eclipse
.idea/* # JetBrains, aka PHPStorm, IntelliJ IDEA
nbproject/* # NetBeans
.vscode # Visual Studio Code
.sass-cache/ # Sass preprocessor

Dash (https://kapeli.com/dash ) に登録していつでもすぐ追加できて便利です。 (このDashは早く買っておけばよかったソフトのトップクラスでおすすめ)

Dashの登録画面

Dashの登録画面

Macでcakephp3 の環境構築 bakeコマンドでエラー(php.iniと、MAMPのMySQLのソケットの場所が原因でした。)

Macでcakephp3 の環境構築 bakeコマンドでエラー(php.iniと、MAMPのMySQLのソケットの場所が原因でした。)

以前Cakephp3の環境をMacにつくってうまくいっていたのですが、bakeコマンドを使ったところでエラーが発生しました。
(結果を先にいうと、CLIのPHPのphp.iniのpdo_mysql.default_socketの値とMAMPのMySQLのsocketの位置が違ってました。)

以前の環境設定の記事
MacでCakePHP3をComposerを使ってセットアップ

エラーは次のようなエラー

 % bin/cake bake all users
Bake All
---------------------------------------------------------------
One moment while associations are detected.
Exception: SQLSTATE[HY000] [2002] No such file or directory in [/Users/taka/htdocs/_template/php/cakephp3/bookmarker/vendor/cakephp/cakephp/src/Database/Driver/PDODriverTrait.php, line 47]
2017-08-29 02:34:48 Error: [PDOException] SQLSTATE[HY000] [2002] No such file or directory in /Users/taka/htdocs/_template/php/cakephp3/bookmarker/vendor/cakephp/cakephp/src/Database/Driver/PDODriverTrait.php on line 47
Stack Trace:
#0 /Users/taka/htdocs/_template/php/cakephp3/bookmarker/vendor/cakephp/cakephp/src/Database/Driver/PDODriverTrait.php(47): PDO->__construct('mysql:host=loca...', 'root', 'root', Array)
#1 /Users/taka/htdocs/_template/php/cakephp3/bookmarker/vendor/cakephp/cakephp/src/Database/Driver/Mysql.php(104): CakeDatabaseDriverMysql->_connect('mysql:host=loca...', Array)
#2 /Users/taka/htdocs/_template/php/cakephp3/bookmarker/vendor/cakephp/cakephp/src/Database/Schema/BaseSchema.php(45): CakeDatabaseDriverMysql->connect()
#3 /Users/taka/htdocs/_template/php/cakephp3/bookmarker/vendor/cakephp/cakephp/src/Database/Dialect/MysqlDialectTrait.php(63): CakeDatabaseSchemaBaseSchema->__construct(Object(CakeDatabaseDriverMysql))
#4 /Users/taka/htdocs/_template/php/cakephp3/bookmarker/vendor/cakephp/cakephp/src/Database/Schema/Collection.php(52): CakeDatabaseDriverMysql->schemaDialect()
#5 /Users/taka/htdocs/_template/php/cakephp3/bookmarker/vendor/cakephp/cakephp/src/Database/Schema/CachedCollection.php(42): CakeDatabaseSchemaCollection->__construct(Object(CakeDatabaseConnection))
#6 /Users/taka/htdocs/_template/php/cakephp3/bookmarker/vendor/cakephp/cakephp/src/Database/Connection.php(368): CakeDatabaseSchemaCachedCollection->__construct(Object(CakeDatabaseConnection), true)
#7 /Users/taka/htdocs/_template/php/cakephp3/bookmarker/vendor/cakephp/cakephp/src/Database/Connection.php(387): CakeDatabaseConnection->getSchemaCollection()
#8 /Users/taka/htdocs/_template/php/cakephp3/bookmarker/vendor/cakephp/bake/src/Shell/Task/ModelTask.php(1016): CakeDatabaseConnection->schemaCollection()
#9 /Users/taka/htdocs/_template/php/cakephp3/bookmarker/vendor/cakephp/bake/src/Shell/Task/ModelTask.php(968): BakeShellTaskModelTask->_getAllTables()
#10 /Users/taka/htdocs/_template/php/cakephp3/bookmarker/vendor/cakephp/bake/src/Shell/Task/ModelTask.php(209): BakeShellTaskModelTask->listAll()
#11 /Users/taka/htdocs/_template/php/cakephp3/bookmarker/vendor/cakephp/bake/src/Shell/Task/ModelTask.php(127): BakeShellTaskModelTask->getAssociations(Object(CakeORMTable))
#12 /Users/taka/htdocs/_template/php/cakephp3/bookmarker/vendor/cakephp/bake/src/Shell/Task/ModelTask.php(110): BakeShellTaskModelTask->getTableContext(Object(CakeORMTable), 'users', 'Users')
#13 /Users/taka/htdocs/_template/php/cakephp3/bookmarker/vendor/cakephp/bake/src/Shell/Task/ModelTask.php(97): BakeShellTaskModelTask->bake('Users')
#14 /Users/taka/htdocs/_template/php/cakephp3/bookmarker/vendor/cakephp/bake/src/Shell/BakeShell.php(257): BakeShellTaskModelTask->main('Users')
#15 /Users/taka/htdocs/_template/php/cakephp3/bookmarker/vendor/cakephp/cakephp/src/Collection/CollectionTrait.php(51): BakeShellBakeShell->BakeShell{closure}('Users', 0)
#16 /Users/taka/htdocs/_template/php/cakephp3/bookmarker/vendor/cakephp/bake/src/Shell/BakeShell.php(258): CakeCollectionCollection->each(Object(Closure))
#17 /Users/taka/htdocs/_template/php/cakephp3/bookmarker/vendor/cakephp/cakephp/src/Console/Shell.php(494): BakeShellBakeShell->all('users')
#18 /Users/taka/htdocs/_template/php/cakephp3/bookmarker/vendor/cakephp/cakephp/src/Console/CommandRunner.php(140): CakeConsoleShell->runCommand(Array, true)
#19 /Users/taka/htdocs/_template/php/cakephp3/bookmarker/bin/cake.php(12): CakeConsoleCommandRunner->run(Array)
#20 {main}

エラーを読んでいきます。

Exception: SQLSTATE[HY000] [2002] No such file or directory in [/Users/taka/htdocs/_template/php/cakephp3/bookmarker/vendor/cakephp/cakephp/src/Database/Driver/PDODriverTrait.php, line 47]

PDOのドライバーのクラスでファイルが見つからないらしい。該当箇所を見る。

$connection = new PDO(
            $dsn,
            $config['username'],
            $config['password'],
            $config['flags']
        );

PDOをnewしているところでエラーなのでPDO自体がまずいのか。
phpinfoのPDOを探ってみる。

% php --info | less
//で、PDO部分を検索
PDO

PDO support => enabled
PDO drivers => mysql, odbc, sqlite

pdo_mysql

PDO Driver for MySQL => enabled
Client API version => mysqlnd 5.0.12-dev - 20150407 - $Id: b396954eeb2d1d9ed7902b8bae237b287f21ad9e $

Directive => Local Value => Master Value
pdo_mysql.default_socket => /tmp/mysql.sock => /tmp/mysql.sock

PDO_ODBC

PDO Driver for ODBC (unixODBC) => enabled
ODBC Connection Pooling => Enabled, strict matching

pdo_sqlite

PDO Driver for SQLite 3.x => enabled
SQLite Library => 3.15.1

あー、たしかMAMPのmysqlのソケットの場所が違ったはず。と思い出す。
シンボリックリンク作成

% ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock

気を取り直してもう一いっかいで、うまくいきました。

% bin/cake bake all users
Bake All
---------------------------------------------------------------
One moment while associations are detected.

Baking table class for Users...

Creating file /Users/taka/htdocs/_template/php/cakephp3/bookmarker/src/Model/Table/UsersTable.php
Wrote `/Users/taka/htdocs/_template/php/cakephp3/bookmarker/src/Model/Table/UsersTable.php`
Deleted `/Users/taka/htdocs/_template/php/cakephp3/bookmarker/src/Model/Table/empty`

Baking entity class for User...

Creating file /Users/taka/htdocs/_template/php/cakephp3/bookmarker/src/Model/Entity/User.php
Wrote `/Users/taka/htdocs/_template/php/cakephp3/bookmarker/src/Model/Entity/User.php`
Deleted `/Users/taka/htdocs/_template/php/cakephp3/bookmarker/src/Model/Entity/empty`

Baking test fixture for Users...

Creating file /Users/taka/htdocs/_template/php/cakephp3/bookmarker/tests/Fixture/UsersFixture.php
Wrote `/Users/taka/htdocs/_template/php/cakephp3/bookmarker/tests/Fixture/UsersFixture.php`
Deleted `/Users/taka/htdocs/_template/php/cakephp3/bookmarker/tests/Fixture/empty`
Bake is detecting possible fixtures...

Baking test case for AppModelTableUsersTable ...

Creating file /Users/taka/htdocs/_template/php/cakephp3/bookmarker/tests/TestCase/Model/Table/UsersTableTest.php
Wrote `/Users/taka/htdocs/_template/php/cakephp3/bookmarker/tests/TestCase/Model/Table/UsersTableTest.php`

Baking controller class for Users...

Creating file /Users/taka/htdocs/_template/php/cakephp3/bookmarker/src/Controller/UsersController.php
Wrote `/Users/taka/htdocs/_template/php/cakephp3/bookmarker/src/Controller/UsersController.php`
Bake is detecting possible fixtures...

Baking test case for AppControllerUsersController ...

Creating file /Users/taka/htdocs/_template/php/cakephp3/bookmarker/tests/TestCase/Controller/UsersControllerTest.php
Wrote `/Users/taka/htdocs/_template/php/cakephp3/bookmarker/tests/TestCase/Controller/UsersControllerTest.php`

Baking `index` view template file...

Creating file /Users/taka/htdocs/_template/php/cakephp3/bookmarker/src/Template/Users/index.ctp
Wrote `/Users/taka/htdocs/_template/php/cakephp3/bookmarker/src/Template/Users/index.ctp`

Baking `view` view template file...

Creating file /Users/taka/htdocs/_template/php/cakephp3/bookmarker/src/Template/Users/view.ctp
Wrote `/Users/taka/htdocs/_template/php/cakephp3/bookmarker/src/Template/Users/view.ctp`

Baking `add` view template file...

Creating file /Users/taka/htdocs/_template/php/cakephp3/bookmarker/src/Template/Users/add.ctp
Wrote `/Users/taka/htdocs/_template/php/cakephp3/bookmarker/src/Template/Users/add.ctp`

Baking `edit` view template file...

Creating file /Users/taka/htdocs/_template/php/cakephp3/bookmarker/src/Template/Users/edit.ctp
Wrote `/Users/taka/htdocs/_template/php/cakephp3/bookmarker/src/Template/Users/edit.ctp`
Bake All complete.

Macでnpmとかnodeが使えなくなった。エラー(dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.58.dylib)

Macでnpmとかnodeが使えなくなった。エラー(dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.58.dylib)

Macでnpmコマンドが使えなくエラーが出るようになった。
以下の用にエラー

% npm -v
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.58.dylib
  Referenced from: /usr/local/bin/node
  Reason: image not found

ん?とnodeコマンドも試す。

% node -v
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.58.dylib
  Referenced from: /usr/local/bin/node
  Reason: image not found
zsh: abort      node -v

とりあえず brew updateしてみる。 >>ダメ。
StackOverflowでエラー(‘dyld: Library not loaded: /usr/local/opt/icu4c/’)当たりを探ってみると、brew reinstall とかが unlink後linkとかとりあえず、reinstallしてみたら使えるようになりました。(多忙につき掘り下げられず。orz..)

 % brew reinstall node
==> Reinstalling node 
==> Downloading https://homebrew.bintray.com/bottles/node-8.4.0.sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring node-8.4.0.sierra.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/node/8.4.0: 4,152 files, 47.3MB
% node -v
v8.4.0
% npm -v
5.3.0

とりあえず、仕事ススメラレル、ヨカッタ。
(少し前に brewでPHP7を入れたりしたからその瞬間から使えなくなっていたのかなぁ。。)

MacのPHPをphp7へ変更(HomeBrewでPHP71のインストール)

MacのPHPをphp7へ変更

MacBookPro Sierra version 10.12.6を利用中phpのMacデフォルトのバージョンが5.6系でいろいろ支障がでるようになってきたので、バージョンを7.xへ上げることにしました。

まずもとのPHPのバージョンとコマンドの場所を確認

$ php -v
PHP 5.6.30 (cli) (built: Feb  7 2017 16:18:37) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
$ which php
/usr/bin/php

HomeBrewでPHPのインストール

HomeBrewのアップデート

$ brew update

tapでリポジトリの追加

//追加
$ brew tap homebrew/dupes
$ brew tap homebrew/versions
$ brew tap homebrew/homebrew-php
//確認
$ brew tap
homebrew/core
homebrew/dupes
homebrew/php
homebrew/versions

phpのインストール(2017.08時点での最新7.1)

インストール

$ brew install php71

エラーがでる。(マニュアル書き込み権限がないみたい。

Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink share/man/man8/php-fpm.8
/usr/local/share/man/man8 is not writable.

権限(オーナー)を変更して一度アンインストールして再インストール(>>エラーでずOK

$ sudo chown ユーザ名 /usr/local/share/man/man8
$ brew install php71

確認 >> あれ5.6になっている。

$ php -v
PHP 5.6.30 (cli) (built: Feb  7 2017 16:18:37) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

PHPの場所確認(macのデフォルトを見ている

$ which php
/usr/bin/php

パスの確認(brewのコマンドが入る/usr/local/binが優先になっているかどうか

$ echo $PATH
/usr/local/share/npm/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/Applications/MAMP/Library/bin
(パスは大丈夫)

/usr/local/binにコマンドがあるか確認 >>ない。

$ ls -la /usr/local/bin/ | grep 'php'

php自体インストールできているか確認 >> ある。

$ ls -la /usr/local/Cellar/ | grep 'php'
drwxr-xr-x   3 taka  admin  102  8 21 04:53 php71

ちょくせつ叩いてみる。 >>大丈夫(パスが単に通って無いだけみたい)

$ /usr/local/Cellar/php71/7.1.8_20/bin/php -v
PHP 7.1.8 (cli) (built: Aug  7 2017 15:02:45) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

brewで入れたPHPへパスを通す

ログ確認するとCLI(コマンドラインインターフェース)で使うPHPをswapするならパスを追加してとあります。

✩✩✩✩ PHP CLI ✩✩✩✩

If you wish to swap the PHP you use on the command line, you should add the following to ~/.bashrc, ~/.zshrc, ~/.profile or your shell's equivalent configuration file:
  export PATH="$(brew --prefix homebrew/php/php71)/bin:$PATH"

zshをつかっているので.zshrcに
export PATH=“$(brew –prefix homebrew/php/php71)/bin:$PATH”
を追記して編集内容を再度読み込み

$ vim ~/.zshrc
$ source ~/.zshrc

パスの確認>>OK

$ echo $PATH
/usr/local/opt/php71/bin:/usr/local/share/npm/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/Applications/MAMP/Library/bin

PHP確認

$ php -v
PHP 7.1.8 (cli) (built: Aug  7 2017 15:02:45) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

参考サイト

MacOSXでbrew install phpをVersion7.1へ

Xcode8.3.3 macOS Sierra のiOSシミュレーター(Simulator)の場所

Xcode8.3.3 macOS Sierra のiOSシミュレーター(Simulator)の場所

少し前にmacをクリーンインストールしてSimulatorどこいったーってなったのでメモ。
ApplicationsのXcodeアプリに内包してありました。
具体的には以下にあります。

/Applications/Xcode.app/Contents/Developer/Applications 

Finderで Cmd + Shift + G を押して上記パスを入力してもよいし、

title

title

Applicatinoフォルダに行ってXcodeを右クリックして“パッケージの中身を表示”をクリックしてFinderを移動しても良い。

title

title

あとは”Simulator.app”をDockにドラッグとかしておけばいつでもすぐに起動できます。

title

title

Macの不要ファイル”.DS_Store” をLinuxコマンドで一括削除

Macの不要ファイル“.DS_Store” をLinuxコマンドで一括削除

findで探してxargsに送ってrmで削除

$ find ./ -name ".DS_Store" | xargs rm

find ファイル・ディレクトリ検索コマンド

引数1 「.」

これはファイルを探す場所、特定のディレクトリを指定する。
ここではカレントディレクトリ「.」を指定

引数2 「-name “.DS_Store”」

これはファイル名を指定

この部分だけを実行すると以下の用にファイル一覧が標準出力へ表示されるのでこのファイル一覧それぞれに対してxargsが「$ rm (ファイル名)」を行っています。

$ find . -name ".DS_Store"
./.DS_Store
./img/.DS_Store
./news/.DS_Store
./news/wp-content/.DS_Store
./news/wp-content/plugins/.DS_Store

実行イメージ

findで検索 → |(パイプ)でxargsへ結果を渡す → xargsは rm を全てに対して実行
(内部的に以下の用に実行される)
$ rm ./.DS_Store
$ rm ./img/.DS_Store
$ rm ./news/.DS_Store
$ rm ./news/wp-content/.DS_Store
$ rm ./news/wp-content/plugins/.DS_Store

(詳細・参考サイト)

http://www.k4.dion.ne.jp/~mms/unix/linux_com/find.html
http://wa3.i–3-i.info/word11619.html