読者です 読者をやめる 読者になる 読者になる

mac 環境設定 cpanmでDBD::mysqlを入れる

以前利用していたMT4のブログをWPに移行したい!

なんせ、MT4はSQLite2で作成していたためデータを取り出すのが大変そうです。

『ひとまずMT4をMySQLで構築してみましょう。』と、いう流れになったのですが・・・

DBD::mysqlが入っていないため、今はperlからMySQLへ接続出来ない状態です。

 

cpanmのインストール

まずはcpanmのインストールから。

Mac(mavericks)にcpanmをインストールする | hypermkt blog を参考にインストールしてみます。

$ cd /usr/bin

$ sudo curl -LOk http://xrl.us/cpanm
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   216    0   216    0     0    468      0 --:--:-- --:--:-- --:--:--   469
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0   131    0     0     31      0 --:--:--  0:00:04 --:--:--   700
100  295k  100  295k    0     0  67914      0  0:00:04  0:00:04 --:--:-- 67914

$ ls -l | grep cpanm
-rw-r--r--   1 root   wheel    302366  6  2 15:08 cpanm

$ sudo chmod +x cpanm

$ cpanm
Usage: cpanm [options] Module [...]

Try `cpanm --help` or `man cpanm` for more options.

 これでcpanmのインストールはOKです。

 

DBD::mysqlのインストール

 次に cpanmでDBD::mysqlを入れる - Qiita を参考にDBD::mysqlを入れてみたいと思います。

 

MySQLは入っているので、環境変数の設定から。

export DBD_MYSQL_CFLAGS=-I/usr/local/Cellar/mysql/5.6.15/bin/mysql
export DBD_MYSQL_LIBS="-L/usr/local/Cellar/mysql/5.6.15/bin/mysql -lmysqlclient"
export DBD_MYSQL_EMBEDDED=
export DBD_MYSQL_CONFIG=/usr/local/Cellar/mysql/5.6.15/bin/mysql_config
export DBD_MYSQL_NOCATCHSTDERR=0
export DBD_MYSQL_NOFOUNDROWS=0
export DBD_MYSQL_SSL=
export DBD_MYSQL_TESTDB=test
export DBD_MYSQL_TESTHOST=localhost
export DBD_MYSQL_TESTPASSWORD=
export DBD_MYSQL_TESTPORT=3306
export DBD_MYSQL_TESTUSER=root

参考サイトとMySQLのバージョンが違ってたので、そこだけ注意しながら1行ずつコピペ実行しました。

 

 

環境変数が設定されているか

env | grep DBD_

 で確認。

先ほど打ち込んだ内容がズラズラ〜と表示されました。

 

$ cpanm DBD::mysql
!
! Can't write to /Library/Perl/5.16 and /usr/local/bin: Installing modules to /Users/username/perl5
! To turn off this warning, you have to do one of the following:
!   - run me as a root or with --sudo option (to install to /Library/Perl/5.16 and /usr/local/bin)
!   - Configure local::lib your existing local::lib in this shell to set PERL_MM_OPT etc.
!   - Install local::lib by running the following commands
!
!         cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
!
--> Working on DBD::mysql
Fetching http://www.cpan.org/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.031.tar.gz ... OK
Configuring DBD-mysql-4.031 ... OK
Building and testing DBD-mysql-4.031 ... FAIL
! Installing DBD::mysql failed. See /Users/username/.cpanm/work/1433225834.1048/build.log for details. Retry with --force to force install it.

 

なんかエラー・・・

 sudoで叩いてみる。

$ sudo cpanm --force DBD::mysql
Password:
--> Working on DBD::mysql
Fetching http://www.cpan.org/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.031.tar.gz ... OK
Configuring DBD-mysql-4.031 ... OK
Building and testing DBD-mysql-4.031 ... FAIL
! Installing DBD::mysql failed. See /Users/username/.cpanm/work/1433227104.4380/build.log for details. Retry with --force to force install it.

またまたエラー。

ログで確認すると「Xcodeのライセンスがない」みたいなことが書かれているので、Xcodeを起動してライセンスを取得。

$ cpanm --force DBD::mysql
!
! Can't write to /Library/Perl/5.16 and /usr/local/bin: Installing modules to /Users/username/perl5
! To turn off this warning, you have to do one of the following:
!   - run me as a root or with --sudo option (to install to /Library/Perl/5.16 and /usr/local/bin)
!   - Configure local::lib your existing local::lib in this shell to set PERL_MM_OPT etc.
!   - Install local::lib by running the following commands
!
!         cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
!
--> Working on DBD::mysql
Fetching http://www.cpan.org/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.031.tar.gz ... OK
Configuring DBD-mysql-4.031 ... OK
Building and testing DBD-mysql-4.031 ... OK
Successfully installed DBD-mysql-4.031
1 distribution installed

やっぱりsudoでないとダメみたいです。

 

$ sudo cpanm --force DBD::mysql
Password:
--> Working on DBD::mysql
Fetching http://www.cpan.org/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.031.tar.gz ... OK
Configuring DBD-mysql-4.031 ... OK
Building and testing DBD-mysql-4.031 ... OK
Successfully installed DBD-mysql-4.031
1 distribution installed

無事インストール出来たみたいです。

確認します。

$ perl -MDBD::mysql -le 1

 何も表示されなければOK!