HTML::FillInFormをCPAN経由でインストールしましたが、うまく動きません。対処方法を教えていただけないでしょうか。
状況は以下のとおりです。
CPAN経由でHTML::Templateはインストールして使えているのでCPANの原因ではない模様。
HTML::FillInFormを使うPerlを実行すると以下のメッセージが出る
Can't locate HTML/FillInForm.pm in @INC (@INC
contains: /usr/local/lib/perl5/5.8.8/BSDPAN /usr/local/lib/perl5/site_perl/5.8.8/mach
/usr/local/lib/perl5/site_perl/5.8.8 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.8/mach /usr/local/lib/perl5/5.8.8 .) at
***(PGM名).cgi line 34, <DATA> line 846.
line34にはuse HTML::FillInFormと記述している。
教えてgooで検索したところ、
http://oshiete1.goo.ne.jp/qa2007575.html
に同様の話が出ていたので、回答へのお礼を参考に、
処理を実行。
ところが、make installの時点で以下のメッセージが出てインストールできません
ERROR: Can't create '/usr/local/lib/perl5/site_perl/5.8.8/mach'
Do not have write permissions on '/usr/local/lib/perl5/site_perl/5.8.8/mach'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
at -e line 1
*** Error code 13
CPAN 経由でインストールを再度試みても、インストールされていると誤認識されているのか、
HTML::FillInForm is up to date (2.00).
と出ます。
原因と解決方法を教えていただけないでしょうか。
FillInFormの前に別のモジュールをインストールしてないといけないのでしょうか?
No.4ベストアンサー
- 回答日時:
echo no | cpan
じゃなくて、単にcpanコマンドを叩いて色々質問に答えたら、.cpanディレクトリできませんかね? なお、.cpanディレクトリは ls -a しないと見えないです。
後、ご質問の文中のエラーメッセージの @INC に $HOME 以下のPATHがないので、仮にインストールされてもこれじゃあモジュールを読めません。CGI側に、
use lib qw(/ホームのPATH/local/lib/perl5 /ホームのPATH/local/lib/perl5/site_perl);
とかって追加するのもいいかもしれません。
この回答への補足
ありがとうございます。
さっそく試したところ、エラーでひっかからなくなりました。
さっそくこれからtemplateファイルを作成し、きちんと動くか確認してみます
後学のために質問させていただきたいのですが、
開発環境、デモ環境、本番環境と用意していた場合には、それぞれにアップロードする場合に、ホームのPATHを書き直す必要が出てくると思います。
今回教えていただいた方法はCPANがちゃんと入っていれば必要ない方法なんでしょうか?
あるいはこの書き換えはCPANがきちんと導入されていてもやむを得ないのでしょうか?
やむをえない場合は、環境に依存した変数を定義したpmファイルを別に用意しているのでそちらで定義してincludeしようと思います。
お手数おかけいたしますが何卒よろしくお願いいたします。
この方法でなんとか解決しました。
お忙しいところ丁寧な解説ありがとうございました、。
非常に助かりました。
技術者ではないので、改修とテストに時間を要し、お礼が遅れてしまいました。申し訳ございません。
本当にありがとうございました。
No.7
- 回答日時:
ANo.6 「$ echo no | cpan」の説明について一部訂正です。
「質問に全て no と答える」ではなく、
正しくは「最初の質問に no と答える」ですね。
最初の質問は、
Are you ready for manual configuration? [yes]
です。
「手動で設定するかい?」と聞かれています。
ここで、Enter を入力すると、デフォルトの yes が選択され、
質問攻めにあいます。
no を入力してEnter を入力すると、自動設定される
というわけです。
丁寧な説明ありがとうございます。
なるほどそういう意味でしたか、元々技術者ではないため
付け焼刃でなんとかやってる状態なので非常に助かります
ありがとうございました、
なんとか皆さんのアドバイスを総合して解決しました
今後ともよろしくお願いします
No.6
- 回答日時:
> $ echo no | cpan
> するとcpan[1]> Unknown shell command 'no'. Type ? for help.
> と表示されてうまくできてない模様。
$ echo no | cpan
によって行われることは、
「cpan コマンドに標準入力で 文字列 no を渡す」
ということです。
初めてcpanコマンドを実行すると、
質問攻めにあいます。
いちいち答えるのがめんどくさいので、
それらに全て no と答えて初期設定を終わらせようということなのです。
cpan[1]> Unknown shell command 'no'.
というメッセージが表示されるということは、
cpan シェルが立ち上がって、質問をきいてこず、
no が入力されたが、
no というコマンドは知りませんと
怒られたということなのです。
cpanシェルが質問攻めしてこないということは、
どこかのMyconfig.pm を読みにいっていると思われます。
$ cpan
cpan> o conf
として設定を確認してみてください。
CPAN::Config options and /home/user/.cpan/CPAN/MyConfig.pm
というように、MyConfig.pm のパスが表示されます。
また、CPAN再導入の際に、
1.Config.Pmと/root/.cpan/ ディレクトリ2つを、名称変更
2.# perl -MCPAN -e shell
と2. で cpanシェルをたちあげられているようです。
この時点ではどういう操作をされたのでしょうか。
参考URL:http://iandeth.dyndns.org/mt/ian/archives/000623 …
No.5
- 回答日時:
お呼びでないかも知れませんが… #2です。
CGI::Ex::Fill は FTP で適当なディレクトリにアップして、
use lib qw(適当なディレクトリ);
すれば使えますよ。
ありがとうございました。
CGI::Ex::Fillかなり使えそうですが、使い勝手の書かれたものが少なく、今回は断念しました。
余裕ができたら挑戦してみます。
No.3
- 回答日時:
PATHとPERL5LIB環境変数の設定は、シェルに反映されているでしょうか?
「ユーザー領域にCPANをインストールする方法」
http://www.otsune.com/bsd/tips/usercpaninstall.h …
の以下のくだりです。
------------------------------------------------------------------------------
~/.cshrcにPATHとPERL5LIB環境変数の設定を追記します。(bashを使っている場合はexport PERL5LIB=$HOME/local/lib/perl5などと読み替えてください)
$ echo 'setenv PATH $HOME/local/bin:$PATH' >> ~/.cshrc
$ echo 'setenv PERL5LIB $HOME/local/lib/perl5:$HOME/local/lib/perl5/site_perl' >> ~/.cshrc
$ source ~/.cshrc
------------------------------------------------------------------------------
> CPAN経由でHTML::Templateはインストールして使えているのでCPANの原因ではない模様
さくらインターネットには、もともとHTML::Template がインストール済みであるようです。
(ref: http://zenryokuhp.com/server/sakura_kentou.htm)
ユーザディレクトリにCPANでインストールした方ではなく、
もともとインストールされている方をロードしているために、
利用できているのではないでしょうか。
この回答への補足
ご指摘のとおり、CPANインストール時の問題のようです。
他に推薦いただいた代替モジュールをインストールする場合にも同様の問題が発生し、インストールできませんでした。
もともとインストールされてるTemplateを使ってた模様です。
ただ、指摘いただいたシェルへの反映は行っており、ファイルの中身にも記述されていました。
ところが、CPANインストール時には地域などを聞かれていないため、
失敗していると思います。
再度CPANを導入してみようと思います。
再インストールの適切な方法を教えていただけないでしょうか。
というのも、
以下教えてgooの情報を参考にCPANのインストールをやり直したところ、
.cpanの下にCPANフォルダができず、myconfigファイルが存在しません。
http://oshiete1.goo.ne.jp/qa2460025.html
もともとのCPANフォルダは名前を変えてキープしているので元には戻せます(といってもだめなのには変わりません)が、CPANを適切に入れなおす方法はないでしょうか?
上記をCPAN再導入のやり方を参考にして実施したことは以下のとおりです
1.Config.Pmと/root/.cpan/ ディレクトリ2つを、名称変更
2.# perl -MCPAN -e shell
3.この後、http://www.otsune.com/bsd/tips/usercpaninstall.h …を参考にさくらの環境にインストールする準備を実施
$ mkdir -p ~/local
$ echo no | cpan
するとcpan[1]> Unknown shell command 'no'. Type ? for help.
と表示されてうまくできてない模様。
また、実際にCPANフォルダも存在しない
なかなかうまくいかず申し訳ございませんが、なにとぞよろしくお願いします。
No.2
- 回答日時:
質問に対する回答にはなりませんが…
こちらは pure perl で使いやすいですよ。
http://search.cpan.org/~rhandom/CGI-Ex-2.20/lib/ …
参考URL:http://search.cpan.org/~rhandom/CGI-Ex-2.20/lib/ …
No.1
- 回答日時:
make install のエラーに、
Do not have write permissions ...
つまり「ファイルを書き込むパーミッションがないよ!!」
と出てます。
以下のように、make install の前に管理者権限になる必要がありますね。
$ su
Password: // rootパスワード入力
# make install
もし、sudo を設定しているなら、
$ sudo make install
参考URL:http://x68000.q-e-d.net/~68user/net/ext-module.h …
この回答への補足
早速の回答ありがとうございました。
質問に掲載する情報が足りてなかったです。すいません。
このサーバーはさくらインターネットの共用サーバーであるため、管理者権限にはなれません。このため、su ではsorryと表示されてしまいます。
そのためhttp://www.otsune.com/bsd/tips/usercpaninstall.h …を参考にユーザ領域にCPANをインストールして使用している状況です。
このような状況でどうにかなるものでしょうか。
たびたびすいませんがよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- Ruby Ruby / passenger のインストールについて 1 2023/01/30 18:31
- その他(プログラミング・Web制作) python flask から fastapiへの移行時のエラー対処 1 2023/02/05 12:26
- UNIX・Linux postfix smtpサーバーリレーがTLSハンドシェーク失敗 1 2022/08/15 15:45
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- Ruby 教えてください 2 2023/01/04 17:50
- Perl Windows10においての『Perl』のプログラムについて 1 2022/05/09 16:04
- サーバー WindowsでApache が起動しない 1 2022/11/29 12:21
- CGI 古ーくからフリーのtree.cgi掲示板を利用させてもらって来ましたが、最新でなにか復活できないか? 2 2023/04/07 10:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Pg.pmモジュールがロードできない
-
XML::Parser::Expat が無い?
-
Excel VBA 定義されたプロージ...
-
ユーザー定義関数に#NAME?が返...
-
ArduinoのジャイロモジュールMP...
-
エクセルVBAでシートモジュール...
-
例外処理のフローチャートの記...
-
VBA This Workbookモジュール...
-
ユーザーフォームに最小化・最...
-
【vba】フォームに書いてあ...
-
Excel VBAでリンク切れをチェッ...
-
VBA モジュールで共通に使う変...
-
VBでグローバル変数を宣言するには
-
グラフのX,Y座標を取得したい
-
vba 標準モジュールインポート...
-
Excel VBAで、ユーザーフォーム...
-
印刷後メッセージボックスを表...
-
VBAで別モジュールへの変数の受...
-
PCをWI-FI化(現在は有線)
-
VBAで旧字体を異字体に一括で変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
use lib qw(変数名);は無理?
-
Python エクセル読み込み xlrd...
-
XML::Parser::Expat が無い?
-
Pg.pmモジュールがロードできない
-
perl DBD::Pg インストールでエ...
-
python
-
YAMLについて
-
Net::SSH::Perlについて
-
python 環境構築について
-
Pythonの設定方法(text_factory)
-
メールフォームからメール送信...
-
DB_Fileモジュールインストール...
-
perl MeCab 和布蕪 エラー
-
perlからpostgres連携時にエラ...
-
perlのモジュールについて
-
DBIをCPANからインストール時に...
-
SOAP::Liteを利用したい!
-
@INCにrequireされたファイルが...
-
CygwinでPerlのCSV_XSを実行する
-
Compress:Zlibコンパイルエラー
おすすめ情報