スポンサードリンク

ActivePerl の ppm が起動しないのです

家の Windows マシンにActivePerlをインストールしたものの、ppmがエラーを吐いて起動しないのです。これではモジュールが追加できませんがな。

とりあえず、開発(の真似事)はもう1台の Linux マシンに ssh で接続してやってたんですが、vi には慣れなくて・・・。やっぱ TeraPad がいいよ~!と思ったものの、いちいちファイルを転送するのも面倒なので、できれば Windows で動かしたいものです。

と言うわけで、一念発起して ppm の起動に挑戦しました。とりあえず、出ているエラーは

ppm gui failed: DBI connect('dbname=C:\DOCUME~1\夢界陸\LOCALS~1\APPLIC~1/ActiveState/ActivePerl/822/ppm-MSWin32-x86-multi-thread-5_8.db','',...) failed: unableto open database file(1)

というものであります。

 とにかく手がかりがないので「ActivePerl ppm 失敗 ppm-MSWin32-x86-multi-thread-5_8.db」でググってみますと、ユーザー名がマルチバイトなのがダメな原因との事。それで会社のPCでは問題なく起動してたのか。納得。

 さて、解決法ですが、管理者権限を持った名前が半角英数のみのユーザーをもう一人作って、そちらを使えばOKなんですが、Perlのモジュールのインストールのためだけに、ユーザーを作るのは、どうも美しくありません。

 一説によれば環境変数 USERNAMEUSERPROFILE を半角英数に設定して、 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のになるべく沿った形でファイル名をつけます。これが基本で余計なトラブルを抱え込まないから。ファイル名に.を余計に使ったり、スペースを挟んだりも基本しなかったりします。

漢字とかで判りやすい名前を付ける事に慣れちゃうと大変なんですけどね。

コメントありがとうございます。

いやぁ。今回はハマリましたよ(笑)。
そもそもユーザー固有の設定でもないファイルを %USERPROFILE% の下に置こうとするとは思わなかったし。
でも、改めてエラーメッセージを見ると、一部のフォルダ名が8+3形式になってるのが、なんとも微笑ましいというか(苦笑)。

参考になりました!

コメントありがとうございます。

お役に立てて、何よりです。

お初にお目にかかります。XAMPPでのサーバー立ち上げ中ActivePerlのppmのインストールが必要となりましたが、どうしてもActivePerl の ppm がエラーが出て起動しないのです。インターネットで捜すこと1週間、諦め掛けた最後の手段で「エラー」丸ごと検索に掛けたところ何と貴兄のペジに巡り合い仰る通りやってみたら解決しました。同じ悩みの人がいてそれを解決された人がいて、インターネットの凄さを改めて認識しました。神様・仏様感謝感謝でありがとうございました。

コメントありがとうございます。

検索すること1週間ですか。お疲れ様でした。
お役に立てて嬉しいです。

私もまさに同じ理由で起動できませんでした。
ユーザー名は何かと半角英数が無難ですね。
大変参考になりました。有難うございました。

コメント、ありがとうございます。

確かに、ユーザー名は半角英数が無難なんですが、ユーザー名を入力する際に、デフォルトで IME が ON になってるから、つい日本語を使っちゃうんですよね。これは MS のワナでしょうか(笑)。

すっきり!助かりました!!!!!!!
会社PCだと、ユーザー名は本名が漢字で登録されちゃうから・・
事務系の人からすると、漢字が一番便利なんでしょうけどね。思わぬ弊害。笑

それにしても本当に助かりました!ありがとうございました!

コメントありがとうございます。

事務方の人からすれば漢字のほうが便利なのは分かるんですけどね(^_^;)。
お役に立てて何よりです。

Verify your Comment
Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

コメントを投稿
トラックバック

このページのトラックバックURL:
http://www.typepad.com/services/trackback/6a01310f1f31c0970c01310f218b45970c

このページへのトラックバック一覧 ActivePerl の ppm が起動しないのです:


プロフィール


  • 書いてる人:夢界 陸

    名古屋在住のおっさん。
    プログラミングやガジェットの話など、 日々の興味を徒然と綴っています。



    Twitterやってます @mukairiku



    運営サイト
    www.mukairiku.net

アクセスランキング


ブログ内検索

Licenses

  • Creative Commons License

OTHER

  • このブログのはてなブックマーク数

    ブログパーツ
Blog powered by TypePad

スポンサードリンク