-1

这与其说是一个“问题”,不如说是我发现的一种我认为有效的方法。

大多数服务器使用路径“/usr/bin/perl”......但草莓 Perl(strawberryperl.com)使用他们自己的唯一路径“/strawberry/perl/bin”(!!)(我尝试安装到不同的目录按照提示允许,但它根本不起作用!我在某处读到安装中的某些文件被“硬编码”到上述路径。)

我不期待必须重命名大约 400 个离线文件的所有 shebang,然后在上传时再次更改它们,我寻求另一种解决方案。我在一个叫做“符号链接”的东西中找到了它。

基本上,它是一个内部 Windows 重定向。它基本上说“如果您看到路径为 'usr/bin/perl' 然后转到 'strawberry/perl/bin'” 有两种设置方法。

首先是打开一个命令行终端(Windows搜索框中的“CMD”,然后点击“cmd.exe”)你使用“cd..”回到“C:>”提示符,然后输入“ /d usr\bin\perl starwberry\perl\bin\perl.exe" 并点击回车。这将设置 <==> 符号链接。(注意斜线的方向)一次性使用就可以了。(它可能在不添加“.exe”的情况下工作,但可以肯定......)

但是我离线设计网站,所以每次启动时都需要设置重定向。您也可以使用批处理文件来执行此操作。

使用文本文件,输入与提示符相同的数据,并将其保存为“.bat”文件到您的启动文件夹,(单击左下角的“开始”按钮时在左侧菜单中找到)在此文件夹中找到在启动时启动的程序的其他图标。

我 99% 确定这是可行的,因为我进入了 'usr/bin/perl' 并将可执行文件重命名为 'perl_old.exe' 和 'perl_5.12.4_old.exe" 和 "wperl_old.exe"(所以如果 Perl 脚本 DID 访问“usr\bin\perl”,它将找不到任何要运行的程序)......当我将 URL 放入浏览器时,文件仍然运行。

那么为什么要从 ActiveState 切换呢?我想安装一个特定的库。我通过 PPM 尝试过,但被告知我没有授权。不,这不是 Windows 的“管理员权限”问题;事实上,ActiveState 现在要为访问某些文件收取999 美元的费用。“好吧,你仍然可以使用'dmake'来创建直接从CPAN下载的文件” 呃,不,你不能......因为“dmake”是锁定和密钥的文件之一!没有它,您将无法从 CPAN 安装任何文件。(“让你勒索赎金”这个词浮现在脑海中。)

使用 Strawberry Perl,只需启动命令行终端 (CMD) 回到根目录 (C:>) 并键入“cpan”。您现在键入“安装 MODULE::name”。繁荣!该特定模块的所有文件都使用与该程序关联的“make.pl”下载和安装。

我们不会讨论公司收取访问公共领域项目的费用;毕竟他们是生意。

我知道这可能是在向一些更高级的用户教你的祖母这样的鸡蛋,但是当切换到 Strawberry Perl 时,可能还有其他人即将重命名他们的所有文件。哦,我相信他们的程序套件还包括 C、C++ 和 Fortran 编译器(不,我也不知道!)。一个缺点:由于他们安装了所有额外的程序功能,该目录比“ActiveState”安装大三倍!

4

1 回答 1

1

我很确定您使用ActivePerl的问题是您使用的是旧版本。我刚刚做了:

C:\Users\myaccount\Documents>perl -MCPAN -e shell

It looks like you don't have a C compiler and make utility installed.  Trying
to install dmake and the MinGW GCC compiler using the Perl Package Manager.
This may take a a few minutes...

Downloading ActiveState Package Repository dbimage...done
Downloading MinGW-4.6.3...done
Downloading dmake-4.11.20080107...done
Unpacking MinGW-4.6.3...done
Unpacking dmake-4.11.20080107...done
Generating HTML for MinGW-4.6.3...done
Generating HTML for dmake-4.11.20080107...done
Updating files in site area...done
2759 files installed

Please use the `dmake` program to run commands from a Makefile!


cpan shell -- CPAN exploration and modules installation (v2.05)
Enter 'h' for help.

cpan>

使用版本:

这是为 MSWin32-x86-multi-thread-64int 构建的 perl 5,版本 20,subversion 1 (v5.20.1)

由于支持开销,ActiveState 的策略是不完全更新旧版本。您可以在这里看到 - 例如 - 他们的构建dmakehttps ://code.activestate.com/ppm/dmake/

从他们的网页:

想要访问旧版本的 ActivePerl?

Community Edition 提供对 ActivePerl 最新版本的访问。在 Business Edition 和 Enterprise Edition 中可以访问旧版本(Perl 5.6、5.8、5.10、5.12、5.14、5.16)。

例如,要使用您当前使用的版本 ( 5.12),您需要购买支持。但是您可以免费使用5.185.20

我还要注意:Windows 无论如何都不使用 shebang 路径;它使用文件关联。

于 2015-02-02T10:59:09.690 回答