PPMが動かない

前々から、ActivePerlをインストールした際、PPMが動かないという症状に泣かされてきた。


ppm gui failed: DBI connect('dbname=C:\DOCUME~1\user1\LOCALS~1\APPLIC~1/ActiveS
tate/ActivePerl/820/ppm-MSWin32-x86-multi-thread-5_8.db','',...) failed: unable
to open database file(1)
で、調べてみるとこんな記事があった。

http://rakunet.org/TSNET/TSperl/27/815.html

> 819は、ppmがver.4になってGUI化されているのですが、データをユーザー名を含
> むディレクトリ(USERPROFILE)にインストールしようとします。この場合、UTF-8
> でディレクトリ名を想定しているので失敗します。私の場合は、MSIでは時間は
> 掛かりますが、一応成功したように見えます。が、PPMは失敗します。ASパッケー
> ジのinstaller.batはインストール時に失敗します。


http://rakunet.org/TSNET/TSperl/27/822.html

> あくまでGUIppmが使いたい、けどユーザー名に漢字を使ってしまって
> インストールしてしまった。ということなら、
> 環境変数USERNAME と USERPROFILE を適当な英数字名に変えてやって
> 起動すれば使えるようになります。

ん、つまりユーザアカウント名が日本語(マルチバイト)だと、UTF-8で評価されて文字が化け、正しく認識しないってことか。しかし・・・マルチバイトなんて使ってたっけ・・・



> dbname=C:\DOCUME~1\user1\LOCALS~1\APPLIC~1/ActiveState/ActivePerl/


> user1



アッーーーーーーーーー!



ユーザ名変えちゃってもuser1というディレクトリ自体は変わらないので、とりあえずそれが原因かどうかを確かめるべく、新たにuser2なる(今度はちゃんと半角)で試してみた。



動いた・・・



ということで一件落着。あとは環境変数とかあの辺りいじればいけるっぽい。めでたしめでたし。