首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用Ocra构建一个用于跨平台使用的红宝石脚本,但我使用堆栈跟踪获得'relative_path_form‘

使用Ocra构建一个用于跨平台使用的红宝石脚本,但我使用堆栈跟踪获得'relative_path_form‘
EN

Stack Overflow用户
提问于 2016-08-23 15:59:28
回答 1查看 1K关注 0票数 1

我正在尝试构建一个.exe来在Windows上执行我的脚本,而不需要安装任何红宝石。我在用Ocra做这个,但我有堆栈追踪。

还请注意,有两个文件运行整个sc,我目前使用的是RVM,自从使用RVM以来,我没有执行任何sudo安装。

第一个文件中使用的宝石:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
require 'rubygems'
require 'nokogiri'
require 'open-uri'
require 'colorize'
require 'colorized_string'

第二个文件中使用的宝石:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
require 'libnotify'
require './firstfile'
require 'os'
require 'twilio-ruby'

Ocra给我的是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>ocra --output test.exe firstfile.rb secondfile.rb
/home/xxxx/.rvm/gems/ruby-head/gems/ocra-1.3.6/bin/ocra:41:in `relative_path_from': undefined method `path' for "/home/xxxx/.rvm/gems/ruby-head@global":String (NoMethodError)
from /home/xxxx/.rvm/gems/ruby-head/gems/ocra-1.3.6/bin/ocra:779:in `block in build_exe'
from /home/xxxx/.rvm/gems/ruby-head/gems/ocra-1.3.6/bin/ocra:762:in `each'
from /home/xxxx/.rvm/gems/ruby-head/gems/ocra-1.3.6/bin/ocra:762:in `build_exe'
from /home/xxxx/.rvm/gems/ruby-head/gems/ocra-1.3.6/bin/ocra:1177:in `block in <top (required)>'

以下是关于我的rvm和我的红宝石版本的更多信息--这是“rvm信息”的确切输出

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  system:
uname:       "Linux xxxx 4.7.1-1-ARCH #1 SMP PREEMPT Wed Aug 17 08:13:35 CEST 2016 x86_64 GNU/Linux"
system:      "arch/libc-2.24/x86_64"
bash:        "/usr/bin/bash => GNU bash, version 4.3.46(1)-release (x86_64-unknown-linux-gnu)"
zsh:         " => not installed"



rvm:
version:      "rvm 1.27.0 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]"
updated:      "1 day 23 hours 44 minutes 51 seconds ago"
path:         "/home/xxxx/.rvm"



ruby:
interpreter:  "ruby"
version:      "2.4.0dev"
date:         "2016-05-20"
platform:     "x86_64-linux"
patchlevel:   "2016-05-20 trunk 55077"
full_version: "ruby 2.4.0dev (2016-05-20 trunk 55077) [x86_64-linux]"

  homes:
gem:          "/home/xxxx/.rvm/gems/ruby-head"
ruby:         "not set"

  binaries:
ruby:         "/home/xxxx/.rvm/rubies/ruby-head/bin/ruby"
irb:          "/home/xxxx/.rvm/rubies/ruby-head/bin/irb"
gem:          "/home/xxxx/.rvm/rubies/ruby-head/bin/gem"
rake:         "/home/xxxx/.rvm/gems/ruby-head/bin/rake"

  environment:
PATH:         "/home/xxxx/.rvm/gems/ruby-head/bin:/home/xxxx/.rvm/gems/ruby-head@global/bin:/home/xxxx/.rvm/rubies/ruby-head/bin:/home/xxxx/.rvm/bin:/usr/bin"
GEM_HOME:     "/home/xxxx/.rvm/gems/ruby-head"
GEM_PATH:     "/home/xxxx/.rvm/gems/ruby-head:/home/xxxx/.rvm/gems/ruby-head@global"
MY_RUBY_HOME: ""
IRBRC:        ""
RUBYOPT:      ""
gemset:       ""

我的脚本解析一个HTML页面,还必须在它所在的文件夹中创建一个文件,对这个文件进行写入/读取,而且Libnotify还必须设置一个--我不知道如何确切解释它--但这是某种路径:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Libnotify.icon_dirs << '/home/' + ENV['USER'] + '/Downloads/NotificationIcons/'

也许其中之一就是Ocra所说的相对路径,但我不确定100%,这就是为什么我想要明白什么是“相对路径”,以及为什么我有这个堆栈跟踪与这个错误。

PS:“xxxx”只是为了隐私!

谢谢你的帮助,我现在正忙着把我的项目打包到跨平台上,现在我只是想在Windows上实现它。

如果你需要更多的信息,只需问它,也要温和,如果我犯了任何错误,因为这是我的第一个问题,在堆栈溢出。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-16 14:14:46

Ocra目前不在Linux上工作。

在谷歌上搜索

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ocra undefined method `path'

链接这里,Ocra上的一个问题页面,显示许多人都有同样的问题。这反过来链接到这里,项目维护人员说Ocra在Linux上不起作用,尽管它值得一试葡萄酒。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39112430

复制
相关文章
使用 unplugin 编写跨平台的构建插件
今天继续来聊一下怎么编写‘跨平台’的构建插件,前端构建工具一直都是一个比较卷的赛道,毕竟它是前端工程化的重要一环,此时此刻它正在经历着新一轮的变革 —— 使用系统编程语言(如 Rust、Go) 重构。
_sx_
2023/10/23
8890
使用 unplugin 编写跨平台的构建插件
使用 ServiceStack 构建跨平台 Web 服务
本文主要来自MSDN杂志《Building Cross-Platform Web Services with ServiceStack》,Windows Communication Foundation (WCF) 是一个相当优秀的服务框架,当我们讨论跨平台的服务的时候,虽然WCF对WebService的支持还行,在面对一些高级应用的不太好,微软重新发展了ASP.NET WebAPI框架,关于这两个框架的讨论可以看我另外一篇文章《WCF和ASP.NET Web API在应用上的选择》 。在讨论跨平台的Web
张善友
2018/01/29
1.7K0
Gradle的使用——第一个构建脚本
至此,我们的第一个构建脚本完成,注意在gradle中-q是表示一个日志级别 --quiet QUIET 及更高
cn華少
2021/11/24
2720
Gradle的使用——第一个构建脚本
跨平台的ide使用-codeblock
全局变量设置 配置编译器 配置编译器,确保编译器下面包含的文件都能找到 编译配置 添加include头文件
sofu456
2021/12/06
5870
跨平台的ide使用-codeblock
如何使用Google Signals的跨设备跟踪报告
引言:用户无需在GA账户上进行任何代码部署,Google Signals就能利用谷歌内部的用户标签实现访客的跨设备追踪。
iCDO互联网数据官
2019/05/31
1.6K0
使用 Go + HTML + CSS + JS 构建漂亮的跨平台桌面应用
Wails 是一个可让您使用 Go 和 Web 技术编写桌面应用的项目。将它看作为 Go 的快并且轻量的 Electron 替代品。您可以使用 Go 的灵活性和强大功能,结合丰富的现代前端,轻松的构建应用程序。它支持如下功能:
兔云小新LM
2022/11/21
6.9K0
使用 Go + HTML + CSS + JS 构建漂亮的跨平台桌面应用
获得进程内存使用量的Python脚本
#!/usr/bin/env python Try to determine how much RAM is currently being used per program. Note per program, not per process. So for example this script will report RAM used by all httpd process together. In detail it reports: sum(private RAM for program pro
用户7365393
2021/11/01
1.5K0
获得进程内存使用量的Python脚本
#!/usr/bin/env python Try to determine how much RAM is currently being used per program. Note per program, not per process. So for example this script will report RAM used by all httpd process together. In detail it reports: sum(private RAM for program pro
用户7705674
2021/11/01
1.7K0
获得进程内存使用量的Python脚本
#!/usr/bin/env python Try to determine how much RAM is currently being used per program. Note per program, not per process. So for example this script will report RAM used by all httpd process together. In detail it reports: sum(private RAM for program pro
用户7718188
2021/11/03
1.7K0
使用 JS 构建跨平台的原生应用(一):React Native for Android 初探
Facebook 于 2015 年 9 月 15 日推出 React Native for Android 版本。相比起 for iOS,for Android 跑 “Hello, World!” 折腾了不少。在这些复杂的环境、工具依赖里,我们可以看出 React Native for Android 的一些端倪。 本系列文章就以开发一个 “Hello, World!” 的 App 为线索,跟大家一起来了解 React Native for Andorid 的技术背景。 本文以在 OS X 开发为例 Rea
BestSDK
2018/02/09
1.9K0
使用 JS 构建跨平台的原生应用(一):React Native for Android 初探
libevent跨平台套接字使用
编译 cmake编译,如果需要添加ssl功能可以查看https://editor.csdn.net/md/?articleId=113249464 编译命令如下: mkdir build && c
sofu456
2021/02/02
5770
electron 使用docker 跨平台打包
下载镜像 docker pull q1194979849/alpinebuilder:v0.0.1 执行命令 docker run --rm -ti -v D:\path/for/project:/project -w /project q1194979849/alpinebuilder:tagname "/bin/sh" "-c" "cmd&&cmd" tagname: 版本号 "/bin/sh" "-c" "cmd&&cmd" : 向容器内部传递命令 实现命令自动化 命令映射目录 所以产物将在原项目
余生
2022/09/23
9590
dotnet 使用 XWT 构建跨平台客户端 入门篇
本文告诉大家如何入门开始开发一个基于 mono 组织开源的 XWT 跨平台客户端 UI 框架的应用,本文的 xwt 是在 GitHub 上完全开源的,基于 MIT 协议的,底层采用 GTK# 的 UI 框架
林德熙
2021/08/12
1.2K0
使用python创建跨平台的fork()炸弹
进程炸弹运行截图 这是一个用python实现的最简单的fork炸弹 import os while True: os.fuck() 但是对于windows系统,是没有fork函数的,幸运的是,python提供了multiprocessing实现了跨平台的方法,对线程进行操作 以下程序仅供学习之用,为避免对系统的造成损伤,已经进行了延时处理 from multiprocessing import Process import os import time G_boom_num = 1
zhaoolee
2018/04/19
1.6K0
使用python创建跨平台的fork()炸弹
JAVA 堆栈类(Stack)的使用
出处:https://www.cnblogs.com/JJCS/p/3480982.html
用户7886150
2021/04/27
1.9K0
Golang交叉编译(跨平台编译)的使用
存在交叉编译的情况时,cgo 工具是不可用的。在标准 go 命令的上下文环境中,交叉编译意味着程序构建环境的目标计算架构的标识与程序运行环境的目标计算架构的标识不同,或者程序构建环境的目标操作系统的标识与程序运行环境的目标操作系统的标识不同
微客鸟窝
2022/05/24
4.2K0
使用Electron创建跨平台桌面应用
开发和维护一个桌面应用是比较复杂的,所以可以理解现在的公司门为何推动WEB应用或者各种跨平台版本,在过去的十几年里,已经有了很多尝试,Flash、Air、Java和Sliverlight,他们都各自取得了不同程度的成功
疯狂的技术宅
2019/03/27
1.5K0
使用Electron创建跨平台桌面应用
使用 Vagrant 打造跨平台开发环境
https://segmentfault.com/a/1190000000264347 Vagrant 是一款用来构建虚拟开发环境的工具,非常适合 php/python/ruby/java 这类语言开发 web 应用,“代码在我机子上运行没有问题”这种说辞将成为历史。 我们可以通过 Vagrant 封装一个 Linux 的开发环境,分发给团队成员。成员可以在自己喜欢的桌面系统(Mac/Windows/Linux)上开发程序,代码却能统一在封装好的环境里运行,非常霸气。 安装步骤 1. 安装 VirtualB
Albert陈凯
2018/04/08
7870
跨平台:使用OWIN 为WebAPI 宿主
OWIN是什么? OWIN的英文全称是Open Web Interface for .NET。 如果仅从名称上解析,可以得出这样的信息:OWIN是针对.NET平台的开放Web接口。 那Web接口是谁和谁之间的接口呢?是Web应用程序与Web服务器之间的接口,OWIN就是.NET Web应用程序与Web服务器之间的接口。 为什么需要这样一个接口呢?因为.NET Web应用程序是运行于Web服务器之中的,.NET Web应用程序需要通过Web服务器接收用户的请求,并且通过Web服务器将响应内容发送用户。如果没有
逸鹏
2018/04/09
1.4K0
跨平台:使用OWIN 为WebAPI 宿主
点击加载更多

相似问题

使用SCons构建跨平台Boost

10

跨平台构建Android脚本

13

使用Maven Tycho构建Eclipse跨平台

20

使用Qt Creator进行跨平台构建

22

使用Gradle进行JavaFX的跨平台构建

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文