我在 Windows 上编写了一个名为“getDartPortalAndInitBuild”的 gem,以从我们的工件中获取一些依赖项。当我进行 rake 安装时,gem 在 Windows 上运行良好。我使用 geminabox 将它上传到我们的 gem 存储库,效果很好。
然后我以 root 身份将它安装在我们的 linux 机器上
gem install getDartPortalAndInitBuild
安装似乎工作正常。当我键入 getDartPortalAndInitBuild 时,它显示“找不到命令”。我找到了 gem 的安装位置,并注意到 bin 文件夹(包含可执行文件的文件夹)丢失了。我做了一个,还再次创建了可执行文件。我修改了文件,并尝试执行它。同样的问题。我检查了我的 /usr/bin 文件夹,但 getDartPortalAndInitBuild 不存在。我尝试在 gem 上进行 rake 安装,但它仍然没有添加可执行文件。最后,我变得沮丧,并将可执行文件复制到 bin 中。那确实执行了该文件,但我得到了 `require': no such file to load -- getDartPortalAndInitBuild。
这是我的宝石环境:
- 红宝石版本:1.3.7
- 红宝石版本:1.8.7(2011-06-30 补丁级别 352)[x86_64-linux]
- 安装目录:/usr/lib/ruby/gems/1.8
- 红宝石可执行文件:/usr/bin/ruby
- 可执行目录:/usr/bin
- 红宝石平台:
- 红宝石
- x86_64-linux
- 宝石路径:
- /usr/lib/ruby/gems/1.8
- /root/.gem/ruby/1.8
- 宝石配置:
- :update_sources => 真
- :详细 => 真
- :基准 => 假
- :回溯 => 假
- :bulk_threshold => 1000
这是我的 $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/lib/ruby/gems/1.8:/root/.gem/ruby/1.8:/usr/lib/ruby/gems/1.8/bin:/root/.gem/ruby/1.8/bin:/usr/bin/ruby
这是完整的 gemspec
# coding: utf-8
lib = File.expand_path('../lib', __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'getDartPortalAndInitBuild/version'
Gem::Specification.new do |spec|
spec.name = "getDartPortalAndInitBuild"
spec.version = GetDartPortalAndInitBuild::VERSION
spec.authors = ["Tyler MacMillan"]
spec.email = ["tyler.macmillan@recondotech.com"]
spec.description = "Gets risvc, dartsvc, entrypoint, rcp, dataadmin, and user management and initializes the install script"
spec.summary = "Grab wars and build portal for iAT server"
spec.homepage = ""
spec.license = "MIT"
spec.files = `git ls-files`.lines.map { |s| s.chomp }
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
spec.require_paths = ["lib"]
spec.add_development_dependency "bundler", "~> 1.3"
spec.add_development_dependency "rake"
end
这是我的可执行文件的相关部分(名称为 getDartPortalAndInitBuild):
#!/usr/bin/env ruby
require 'getDartPortalAndInitBuild'
如何让我的 gem 正确安装?我的路径似乎是正确的,而且在 Windows 上一切正常。提前感谢您的帮助,如果我没有提供足够的信息,请询问。
更新:
值得注意的是,除非我进行 rake 安装,否则可执行文件也不能在 Windows 上运行。