我写了a.pl和b.pl, 我在a.pl中的openshift中包含了一个perl文件b.pl:
a.pl:
#!/usr/bin/perl -w
require "b.pl";
....
但是当我使用git将代码推送到openshift时 它还说它找不到b.pl?
remote: ! Finding b.pl on cpannetadb failed.
....
remote: ! Couldn't find module or a distribution b.pl
remote: An error occurred executing 'gear postreceive'
...
任何人都知道这是什么问题?
答案 0 :(得分:0)
需要将包含脚本的目录路径添加到@INC。
在require语句之前添加use lib语句。这将在@INC路径中添加目录。
use lib "/path/of/directory/where/script/is/present";
即
use lib "/var/lib/openshift/5xxxxxxxxxxxxxxd/app-root/runtime/repo";
require "b.pl";
或使用完整绝对路径
require "/var/lib/openshift/5xxxxxxxxxxxxxxd/app-root/runtime/repo/b.pl";