【问题标题】:Using a perl script on windows without installing ActivePerl?在Windows上使用Perl脚本而无需安装ActivePerl?
【发布时间】:2011-08-17 16:01:50
【问题描述】:

我在 Windows 下使用 Perl 作为我选择的脚本语言,通常我只安装 ActivePerl(出于个人遗留原因,大多数是 5.8)并完成它。

我现在面临的问题是,我想在没有任何管理员权限的机器上使用一些小脚本,因此无法使用其安装程序安装 ActiveState 发行版。

需要从已安装的 ActiveState Perl 中压缩哪些内容才能在 Windows 上执行 xcopy 样式的 Perl 安装? (然后必须在命令 shell 中设置哪些环境变量才能使其工作?)

【问题讨论】:

  • 除了复制 xcopy 样式之外,您可能还需要在新系统中注册 perl 的 dll,以便可执行文件可以找到它们,也许还有几个 reg 条目 - 所以您需要尝试并计算出

标签: windows perl installation


【解决方案1】:

Strawberry Perl 有一个便携版。我会优先使用它,而不是在没有正确安装的情况下尝试破解 ActivePerl 来工作。

【讨论】:

    【解决方案2】:

    PAR::Packer 允许您将perl 连同它所依赖的脚本和模块打包到一个独立的可执行文件中。您可能需要仔细检查 ActiveState 的许可条款,以确保允许此类分发。

    【讨论】:

      【解决方案3】:

      据我所知,ActivePerl 可能很难以这种方式处理。但是,我在 perlmonks 中发现了这一点:

      http://www.perlmonks.org/?node=Portable%20perl%3A%20usb%20thumbdrive

      简而言之:Guy 想要在没有管理员权限的 Windows 上使用 perl,因此他制作了一个 USB 拇指驱动器来完成这项工作。

      【讨论】:

        【解决方案4】:

        David's answer 的草莓 Perl 可能是最好的解决方案,因为它正式支持 xcopy 安装。

        但是,我现在刚刚尝试复制 ActiveState 的安装目录 C:\Perl,当将 C:\Perl\bin 添加到 PATH 时,它似乎可以正常执行我的脚本。

        显然,您必须通过 __> perl file.pl 运行脚本,因为 Windows 不存在文件关联,才能知道如何调用 __> file.pl,就像使用已安装版本时一样,但您始终必须使用 xcopy-installs .

        我还检查了 ActiveState 的 MSI 安装程序(适用于 5.8),它只包含安装到 TARGETDIR\Perl 的文件,所以我认为仅复制 Perl 目录对于 ActiveState 来说也应该是安全的。

        【讨论】:

          【解决方案5】:

          您可以使用 *.zip 文件安装程序而不是 *.msi 来安装没有管理员权限的 ActivePerl。从ActivePerl 5.26.3 download directory 下载并运行提取树根目录下的installer.bat 文件。

          【讨论】:

          • 谢谢!有用的信息!我还没有尝试过,但请注意 ZIP 安装程序不会在没有(至少)警告的情况下运行,因为它会尝试在 HKEY_LOCAL_MACHINE 下创建注册表项以及 msi 安装程序也尝试做的其他事情——如果你无法工作不是管理员。
          • 我猜来自批处理安装程序的这条消息说明了一切:此安装程序可以在您选择的任何位置安装 $product。您不需要管理员权限。但是,请确保您对此位置有写入权限。
          • 这行得通。下载压缩包。提炼。将 /bin 目录添加到您的路径。你已经完成了。
          【解决方案6】:

          这里是您可以获得便携式 perl 版本的链接。 http://strawberryperl.com/releases.html

          以下是页面中的一些解释性说明,您可以在其中调整不同的安装文件。例如 MSI、ZIP 等

          MSI 安装程序 = 首选方式,需要管理员权限才能安装

          ZIP 版本 = 不需要管理员权限,但是您需要在解压缩后手动运行一些安装后脚本

          PortableZIP edition = 适用于“USB 记忆棒上的 perl”(您可以移动/重命名 perl 目录,它仍然可以使用)

          MSM 合并模块 = 适合想要基于 Strawberry Perl 构建自己的 MSI 的高级用户

          DDrive edition =(自 5.12 系列起未使用)具有固定安装路径到 d:\strawberry 的特别版

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2023-04-06
            • 2011-04-09
            • 2012-06-02
            • 2012-08-29
            • 1970-01-01
            • 2014-07-01
            • 2011-03-21
            • 2018-10-02
            相关资源
            最近更新 更多