ActivePerl の ppm が起動しないのです
家の Windows マシンにActivePerlをインストールしたものの、ppmがエラーを吐いて起動しないのです。これではモジュールが追加できませんがな。
とりあえず、開発(の真似事)はもう1台の Linux マシンに ssh で接続してやってたんですが、vi には慣れなくて・・・。やっぱ TeraPad がいいよ~!と思ったものの、いちいちファイルを転送するのも面倒なので、できれば Windows で動かしたいものです。
と言うわけで、一念発起して ppm の起動に挑戦しました。とりあえず、出ているエラーは
というものであります。
とにかく手がかりがないので「ActivePerl ppm 失敗 ppm-MSWin32-x86-multi-thread-5_8.db」でググってみますと、ユーザー名がマルチバイトなのがダメな原因との事。それで会社のPCでは問題なく起動してたのか。納得。
さて、解決法ですが、管理者権限を持った名前が半角英数のみのユーザーをもう一人作って、そちらを使えばOKなんですが、Perlのモジュールのインストールのためだけに、ユーザーを作るのは、どうも美しくありません。
一説によれば環境変数 USERNAME と USERPROFILE を半角英数に設定して、 USERPROFILE に指定したフォルダを作っておいてやればOKとあったので、即試してみましたがダメでした。
でも、環境変数 ACTIVEPERL_PPM_HOME を設定する方法では上手くいきました(以下、Perl が C:\Perl にインストールされているとして話を進めます)。
とりあえず、ppm が使うフォルダ C:\Perl\ppm を作成します。次にコマンドプロンプトから「SET ACTIVEPERL_PPM_HOME=C:\Perl\ppm」として、ppm を起動すると・・・おぉ!ちゃんと起動しましたよ。
しかしこれだと毎回「SET ~」しなくちゃいけなくて面倒なので、起動用の bat ファイルを書き換えます。
C:\Perl\bin\ppm.bat がそれなので、テキストエディタで開いて、3行目に「SET ACTIVEPERL_PPM_HOME=C:\Perl\ppm」と追加します。ちなみに ppm.bat は読み取り専用になっているので、プロパティで属性を解除してから編集→保存しましょう。
以上で、問題なく ppm が起動するようになりました。はぁ、やれやれ。
ちなみに、最新版の ppm はGUIなんですが、古いCUIの ppm が使いたい時は、ppm-shell すれば起動します。こちらなら、上記の面倒な設定をしなくても使えるし、GUIみたく重くないので慣れてる人にはいいかも。
参照リンク
・太郎日記’79J:Windowsのユーザ名も太郎な俺が、ppmをCUIで動かす方法。
・窓の杜:ActivePerl
備考:
このブログ、文字コードが utf-8 なので、パスの区切り文字¥(ホントは半角)が \ になっちゃってますので、適時読み替えてください。ソースを表示するとちゃんと¥と表示されるんですけどねぇ。
だんだんとこういう事が開発者とかでも怒り始めるんだなぁ、と思ったり思わなかったり。まあ、それが時の流れと言うものだ。
よく周りの人に言ったりするんですが、僕らがあんまり変なエラーを出さないのは、開発やってたからトラブルになりそうなものはなるべく避けるようにするからってのがある、とよく言ってます。
Windowsのユーザー名はそのままフォルダ名になるから、僕はいまも名前はローマ字ですぜ。
特にCUIのものとか、LinuxなどWindowsでないもので使うとかだと、以前の8+3のになるべく沿った形でファイル名をつけます。これが基本で余計なトラブルを抱え込まないから。ファイル名に.を余計に使ったり、スペースを挟んだりも基本しなかったりします。
漢字とかで判りやすい名前を付ける事に慣れちゃうと大変なんですけどね。
Posted by: yohsuke | 01/05/2008 at 09:35
コメントありがとうございます。
いやぁ。今回はハマリましたよ(笑)。
そもそもユーザー固有の設定でもないファイルを %USERPROFILE% の下に置こうとするとは思わなかったし。
でも、改めてエラーメッセージを見ると、一部のフォルダ名が8+3形式になってるのが、なんとも微笑ましいというか(苦笑)。
Posted by: 夢界 | 01/05/2008 at 11:02
参考になりました!
Posted by: ucchi | 03/22/2008 at 00:28
コメントありがとうございます。
お役に立てて、何よりです。
Posted by: 夢界 | 03/22/2008 at 03:34
お初にお目にかかります。XAMPPでのサーバー立ち上げ中ActivePerlのppmのインストールが必要となりましたが、どうしてもActivePerl の ppm がエラーが出て起動しないのです。インターネットで捜すこと1週間、諦め掛けた最後の手段で「エラー」丸ごと検索に掛けたところ何と貴兄のペジに巡り合い仰る通りやってみたら解決しました。同じ悩みの人がいてそれを解決された人がいて、インターネットの凄さを改めて認識しました。神様・仏様感謝感謝でありがとうございました。
Posted by: 植木屋さかちゃん | 03/25/2008 at 18:20
コメントありがとうございます。
検索すること1週間ですか。お疲れ様でした。
お役に立てて嬉しいです。
Posted by: 夢界 | 03/25/2008 at 22:00
私もまさに同じ理由で起動できませんでした。
ユーザー名は何かと半角英数が無難ですね。
大変参考になりました。有難うございました。
Posted by: かかし | 04/24/2008 at 19:11
コメント、ありがとうございます。
確かに、ユーザー名は半角英数が無難なんですが、ユーザー名を入力する際に、デフォルトで IME が ON になってるから、つい日本語を使っちゃうんですよね。これは MS のワナでしょうか(笑)。
Posted by: 夢界 | 04/25/2008 at 01:02
すっきり!助かりました!!!!!!!
会社PCだと、ユーザー名は本名が漢字で登録されちゃうから・・
事務系の人からすると、漢字が一番便利なんでしょうけどね。思わぬ弊害。笑
それにしても本当に助かりました!ありがとうございました!
Posted by: ゆ | 01/18/2017 at 17:14
コメントありがとうございます。
事務方の人からすれば漢字のほうが便利なのは分かるんですけどね(^_^;)。
お役に立てて何よりです。
Posted by: 夢界 | 01/21/2017 at 15:44