使用Ruby gem部署shell脚本并安装在bin目录中
发布时间:2020-12-16 19:05:38 所属栏目:百科 来源:网络整理
导读:我希望在我的gem的bin目录中放置一个 shell脚本,以及属于该包的其他 Ruby程序.我希望将这个shell脚本原样安装在bin目录中(即没有包装器).这可能与Ruby宝石有关吗?如果没有其他可能,我会对安装后挂钩感到满意.有人有这方面的经验吗? 解决方法 此问题在此处
我希望在我的gem的bin目录中放置一个
shell脚本,以及属于该包的其他
Ruby程序.我希望将这个shell脚本原样安装在bin目录中(即没有包装器).这可能与Ruby宝石有关吗?如果没有其他可能,我会对安装后挂钩感到满意.有人有这方面的经验吗?
解决方法
此问题在此处描述:
https://github.com/rubygems/rubygems/issues/88 如果您正在开发的宝石仅供您自己使用,您可以简单地安装它 gem install --no-wrapper my_gem 我认为你最好写一个运行你的bash脚本的ruby脚本.这是一个如何做到这一点的例子: 斌/ test_gem #!/usr/bin/env ruby bin_dir = File.expand_path(File.dirname(__FILE__)) shell_script_path = File.join(bin_dir,'test_gem.sh') `#{shell_script_path}` 斌/ test_gem.sh #!/bin/sh echo "Hello World!" test_gem.gemspec spec.files = [ # ... 'bin/test_gem','bin/test_gem.sh' ] # ... spec.executables = ['test_gem'] 注意:不要忘记将bin文件夹中的两个文件都设置为可执行文件! 请注意,虽然test_gem.sh是使用文件Rubygems命令注册的,但它没有注册为可执行文件:它只会被放置在已安装的gem的目录中,但不会被包装/填充. 如果你安装了gem(并在必要时运行rbenv rehash),调用test_gem将导致ruby脚本执行你的shell脚本. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |