首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何分发crystal-lang可执行文件

如何分发crystal-lang可执行文件
EN

Stack Overflow用户
提问于 2017-12-22 07:01:11
回答 2查看 186关注 0票数 1

你好,水晶牧师们,

我已经在我的开发虚拟机上构建了一个应用程序,snob,在fedora26上运行crystal 0.23.1。它在本地运行得很好。这是一个发布版本。我将应用程序复制到我的主机fedora27,并尝试运行它,我收到了一个关于shard.yml的错误消息。在我的任何centos机器上都会发生同样的事情。错误:

代码语言:javascript
复制
Error opening file 
'/vagrant/Projects/crystal/snob/src/snob/../../shard.yml' with mode 'r': No such file or directory (Errno)
Failed to raise an exception: END_OF_STACK
[0x40e807] __crystal_raise +375
[0x411f05] ???
[0x41f595] ???
[0x417291] ???
[0x41611a] ???
[0x42d37a] main +7914
[0x7f8783b5100a] __libc_start_main +234
[0x40e2da] _start +42
[0x0] ???

我遗漏了什么?我的印象是这是一个独立的可执行文件。再多的挠头或谷歌搜索也找不到任何结果。

提前感谢所有能帮助我的人。同时,我还在找。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-27 04:23:22

使用Crystal v0.24.1和Shards v0.7.2,我现在可以使用:VERSION = {{ `shards version #{__DIR__}`.chomp.stringify }}将版本保存在一个地方,这解决了我上面创建的问题。

票数 0
EN

Stack Overflow用户

发布于 2017-12-23 23:14:34

我在version.cr:VERSION = begin YAML.parse(File.join(__DIR__, "../..", "shard.yml")))["version"].as_s end中的源代码我试图将版本保存在一个地方,以便在开发期间进行更新,但无意中引入了一个不想要的错误。我的应用程序现在依赖于shard.yml位于我的路径中的某个位置。唉哟!将版本常量更改为文字字符串"x.x.x“并重新构建修复了此问题。我的资料来源是https://github.com/lebogan/snob.git

感谢@Eric Platon的帖子建议。

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

https://stackoverflow.com/questions/47933861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档