Aut*_*ico 14 ruby portability cross-platform
我一直试图找到一个很好的解决方案很长一段时间:
有没有一种可靠的方法将ruby安装到可在该平台上移植的文件夹中?我想要一个文件夹,我可以很容易地复制到我正在制作的发行版中,这样我就可以"随时随地"拥有一个红宝石环境.如果我需要编译源代码和东西,这很好,只要我最终安装了便携式ruby.
我找到了一些试图解决这个问题的资源,但没有一个能让我满意.
http://hcettech.blogspot.pt/2012/05/windows-portable-rails-development.html
对我来说,这是Ruby的一个主要痛点.如果在没有客户端首先安装Ruby的情况下无法使Ruby脚本工作,那么ruby在我的情况下基本上没有用.我真的希望我/我们可以解决这个问题,因此有可能让Ruby比现有的更有用.
注意:我知道像Releasy这样的东西存在,但它仍然不是一个简单的ruby可执行文件.
我的目标是能够创建一个带有.bat/.sh脚本的文件夹,它执行此操作:
#some bat/sh
./bin/ruby ./my_script.rb
Run Code Online (Sandbox Code Playgroud)
是的,如果我对此问题有所了解,请将我击倒,因为这对我来说是一种解脱.
Aut*_*ico 20
我对此感到厌倦,于是我决定自己解决这个问题.几天后我终于开始工作了.
这正是我所需要的,希望其他人也能从中受益!
它非常简单:下载repo(因为二进制文件而非常大).把它放在USB驱动器上,或任何你想要的地方,然后执行:
path/to/ruby_ship/bin/ruby_ship.sh -v
=> ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0]
Run Code Online (Sandbox Code Playgroud)
这适用于linux和Mac,或者适用于Windows:
path\to\ruby_ship\bin\ruby_ship.bat -v
=> ruby 2.1.2p95 (2014-05-08 revision 45877) [i386-mswin32_100]
Run Code Online (Sandbox Code Playgroud)
ruby_ship包装器就像普通的ruby一样,所以你可以传入一个脚本,或者做任何你会使用普通ruby命令的东西.
如果您不喜欢Ruby Ship捆绑的版本,那么只需使用tools目录中的编译脚本即可.下载你最喜欢的Ruby版本的源代码,比如XYZ,然后执行以下操作:
# *nix (osx/linux/...)
path/to/ruby_ship/tools/ruby_ship_build.sh path/to/ruby-X.Y.Z.tar.gz
# windows
path\to\ruby_ship\tools\ruby_ship_build.bat path\to\ruby-X.Y.Z.tar.gz
Run Code Online (Sandbox Code Playgroud)
这将构建您的ruby风格并正确设置包装器.现在你的Ruby版XYZ是可移植的!复制将此文件夹粘贴到您想要的位置,您就可以开始了!但请记住,它只会针对您当前的平台进行编译,因此如果您需要其他平台,请在这些平台上进行编译.
编译过程有一些要求.看看github网站.
无论如何,希望其他人可能会觉得这很有用!如果事情不适合你,请提出问题,我会调查一下!
归档时间: |
|
查看次数: |
9049 次 |
最近记录: |