本文概述
你是创建脚本以简化生活的开发人员之一吗?巧合的是, 你喜欢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是否已正确安装, 可以检查控制台中是否存在作为执行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 method
def 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 file
when 'Y', 'y', 'j', 'J', 'yes', 'Yes'
out_file = File.new("#{filename}.txt", "w")
out_file.puts(content)
out_file.close
puts "Your file has been succesfully created, come back soon !"
# If not, ask if he wants to continue or just exit
when 'No', 'N', 'no'
puts prompt + "Oh :(, do you want to start again (Yes[y]/No[n])?"
response = $stdin.gets.chomp
case response
when 'Y', 'y', 'j', 'J', 'yes', 'Yes'
start_wizard()
when 'No', 'N', 'no'
exit
end
end
end
# Start execution
begin
start_wizard()
# Write a log in case of error
rescue Exception => e
File.open("except.log") do |f|
f.puts e.inspect
f.puts e.backtrace
end
end
如你所见, 它是一个简单的控制台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
现在执行命令并构建你的第一个可执行文件:
最后, 你可以在脚本所在的同一文件夹中测试创建的可执行文件:
提示与建议
-
会自动检测DLL, 但仅包含Ruby安装中的DLL。
-
.rb文件将成为控制台应用程序。 .rbw文件将成为带窗口的应用程序(不会弹出控制台窗口)。或者, 使用”- 安慰” 要么 “- 视窗“选项。
- 你可以在命令(ocra script.rb –icon = c:\ path-to \ icon.ico)中添加icon参数(以文件的路径作为值)来更改可执行文件的图标。
玩得开心 !
评论前必须登录!
注册