本文概述
- 要求
- 实现
- 提示与建议
在本文中, 你将学习如何在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 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
现在执行命令并构建你的第一个可执行文件:
文章图片
最后, 你可以在脚本所在的同一文件夹中测试创建的可执行文件:
文章图片
提示与建议
- 会自动检测DLL, 但仅包含Ruby安装中的DLL。
- .rb文件将成为控制台应用程序。 .rbw文件将成为带窗口的应用程序(不会弹出控制台窗口)。或者, 使用”
- 安慰”
要么 “
- 视窗“
选项。
- 你可以在命令(ocra script.rb – icon = c:\ path-to \ icon.ico)中添加icon参数(以文件的路径作为值)来更改可执行文件的图标。
推荐阅读
- 如何在Laravel中检索信息和任何加密货币(比特币,以太坊)的值
- 如何使用Artyom.js在ReactJS中创建自己的语音助手
- 使用CSS删除内联块元素之间的空白(Gap)
- 如何使用jQuery将YouTube视频用作页面背景
- 如何在React中从父组件执行子组件功能
- 如何通过jQuery UI Touch Punch在移动(触摸)设备上使用jQuery UI功能
- 如何在React中从子组件更新父状态
- 使用(或不使用)jQuery在你的网站中实现智能应用横幅
- 「首度揭秘」大规模HPC生产环境 IO 特征