IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

MacPorts でダウンロード先のミラーが重くて先に進まない場合の対処方法

(追記)ここで書かれた方法よりも順等な方法があるようです

詳細は以下の記事を見てください。
MacPorts でダウンロード先のミラーが重くて先に進まない場合のまっとうな対処方法 - otsune's SnakeOil - subtech

一般的な MacPorts でのインストール方法

以下のようにしますよね。たとえば mysql5 のインストール。

$ sudo port install mysql5
--->  Fetching mysql5
--->  Attempting to fetch mysql-5.0.51a.tar.gz from http://mysql.mirrors.pair.com/Downloads/MySQL-5.0/

Attempting to fetch ... という部分はミラーからダウンロードしてきてるんですが、ここが中々終わらないことってよくありません?

そんなときは

v オプションを付けてダウンロードの経過を見ます。

$ sudo port -v install mysql5
--->  Fetching mysql5
--->  mysql-5.0.51a.tar.gz doesn't seem to exist in /opt/local/var/macports/distfiles/mysql5
--->  Attempting to fetch mysql-5.0.51a.tar.gz from http://mysql.mirrors.pair.com/Downloads/MySQL-5.0/
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:53 --:--:--     0

1 分待ってもダウンロードが始まりません。
これだったら、別のミラーから直接落としてきたいですよね。

というわけで、他のミラーからダウンロードしちゃいましょう。

$ wget http://mirror.mysql-partners-jp.biz/Downloads/MySQL-5.0/mysql-5.0.51a.tar.gz
--2008-06-18 18:00:43--  http://mirror.mysql-partners-jp.biz/Downloads/MySQL-5.0/mysql-5.0.51a.tar.gz
mirror.mysql-partners-jp.biz をDNSに問いあわせています... 59.190.130.254
mirror.mysql-partners-jp.biz|59.190.130.254|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 27588558 (26M) [application/x-gzip]
`mysql-5.0.51a.tar.gz' に保存中

100%[=================================================================================================================>] 27,588,558  2.31M/s 時間 11s     

2008-06-18 18:00:54 (2.39 MB/s) - `mysql-5.0.51a.tar.gz' へ保存完了 [27588558/27588558]

$ 

完了したら /opt/local/var/macports/distfiles/<name>/ にコピーします。

<name> は install の時に指定したやつです。

$ sudo mv mysql-5.0.51a.tar.gz /opt/local/var/macports/distfiles/mysql5/
そして、もう一回 port install します。
$ sudo port install mysql5
--->  Fetching mysql5
--->  Verifying checksum(s) for mysql5
--->  Extracting mysql5
--->  Configuring mysql5
--->  Building mysql5 with target all
--->  Staging mysql5 into destroot
--->  Installing mysql5 5.0.51a_0
--->  Activating mysql5 5.0.51a_0
--->  Cleaning mysql5
$

おおお。
ミラーからダウンロードする箇所が無くなりました。