如何使用OCRA在Windows中从Ruby脚本创建可执行文件(.exe)

本文概述

  • 要求
  • 实现
  • 提示与建议
你是创建脚本以简化生活的开发人员之一吗?巧合的是, 你喜欢Ruby吗?你有Windows吗?你需要知道有一种简单的方法可以执行脚本, 甚至在Windows中使用它们创建少量的控制台应用程序, 而不是通过控制台在控制台中手动执行脚本来重复工作。感谢一键式Ruby Application Builder, 我们正在谈论使用ruby脚本创建.exe(是的, 应用程序文件)文件。 OCRA从Ruby源代码构建Windows可执行文件!这些可执行文件是一个自解压, 自运行的可执行文件, 其中包含Ruby解释器, 你的源代码以及任何其他需要的ruby库或DLL。
在本文中, 你将学习如何在Windows中使用OCRA从ruby脚本轻松创建可执行文件。
要求 要创建我们的可执行文件, 我们将使用OCRA gem。要下载OCRA, 请在命令提示符(cmd.exe)中执行以下命令:
gem install ocra

在安装结束时, gem管理器将开始下载ocra, 并且gem(软件包)应能够在命令提示符下作为环境变量运行。
如何使用OCRA在Windows中从Ruby脚本创建可执行文件(.exe)

文章图片
你可以在官方存储库或此处的文档中了解有关此软件包的更多信息。要检查OCRA是否已正确安装, 可以检查控制台中是否存在作为执行ocra – help的环境变量的OCRA。
或者, 你可以从rubygems.org/gems/ocra或github.com/larsch/ocra/releases/下载宝石。独立版本:从github.com/larsch/ocra/releases/获取ocrasa.rb。除了在Windows上可以正常工作的Ruby安装之外, 不需要任何其他操作。
实现 使用OCRA创建可执行文件非常简单, 可自定义并且非常容易执行。你需要做的只是将ocra作为环境变量(安装gem时会自动发生), 并知道要打包哪个文件。
在我们的示例中, 我们将创建以下脚本的可执行文件。该脚本的文件名是file-creator.rb并包含以下代码(它只是提示用户输入新文件的名称和内容):
# Declare start wizard methoddef start_wizard prompt = "> " puts "Hi welcome to Text File Creator 2000" puts prompt + "To get started, give a name to your file (without extension)" filename = $stdin.gets.chomp puts prompt + "Awesome, now provide the content of the file !" content = $stdin.gets.chomp puts """ Alright, so your filename will be #{filename}. And the content will be #{content}.Do you want to continue (Yes[y]/No[n])? """ # Confirm the creation of the file response = $stdin.gets.chomp case response# If confirm, create the filewhen 'Y', 'y', 'j', 'J', 'yes', 'Yes'out_file = File.new("#{filename}.txt", "w")out_file.puts(content)out_file.closeputs "Your file has been succesfully created, come back soon !"# If not, ask if he wants to continue or just exitwhen 'No', 'N', 'no'puts prompt + "Oh :(, do you want to start again (Yes[y]/No[n])?"response = $stdin.gets.chompcase responsewhen 'Y', 'y', 'j', 'J', 'yes', 'Yes'start_wizard()when 'No', 'N', 'no'exitend endend# Start execution begin start_wizard()# Write a log in case of errorrescue Exception => e File.open("except.log") do |f|f.puts e.inspectf.puts e.backtrace endend

如你所见, 它是一个简单的控制台Ruby应用程序。现在创建可执行文件, 使用控制台(cmd.exe)导航到ruby脚本所在的文件夹(在本例中为Desktop \ Ruby):
cd C:\Users\sdkca\Desktop\ruby

现在, 使用以下命令继续该过程:
ocra file-creator.rb

这是创建脚本可执行文件的最简单命令, 因此足以在脚本所在的文件夹中创建可执行文件。
但是, 包装脚本时可能会遇到一个有趣的行为。 OCRA立即执行脚本以检查依赖性(.DLL和其他文件), 以使脚本尽可能独立, 并且显然, 如果脚本需要与用户交互(提示或要求的值输入), 则不需要OCRA执行脚本的原因不同。为防止这种行为, 你需要提供一个参数, 以使OCRA忽略脚本的执行:
ocra text-creator.rb --no-dep-run

现在执行命令并构建你的第一个可执行文件:
如何使用OCRA在Windows中从Ruby脚本创建可执行文件(.exe)

文章图片
最后, 你可以在脚本所在的同一文件夹中测试创建的可执行文件:
如何使用OCRA在Windows中从Ruby脚本创建可执行文件(.exe)

文章图片
提示与建议
  • 会自动检测DLL, 但仅包含Ruby安装中的DLL。
  • .rb文件将成为控制台应用程序。 .rbw文件将成为带窗口的应用程序(不会弹出控制台窗口)。或者, 使用” - 安慰” 要么 “ - 视窗“ 选项。
  • 你可以在命令(ocra script.rb – icon = c:\ path-to \ icon.ico)中添加icon参数(以文件的路径作为值)来更改可执行文件的图标。
【如何使用OCRA在Windows中从Ruby脚本创建可执行文件(.exe)】玩得开心 !

    推荐阅读