为何我的Gem从RubyGems.org安装可用,从Github安装却不可用?
从GitHub安装Capistrano Gem无法加载文件,推送到RubyGems后却正常
我将几个Capistrano任务提取为一个Gem,但无法在Capfile中加载其代码。
Gemfile配置
gem "capistrano-mysql_tables", github: "floydj/capistrano-mysql_tables"
Capfile配置
require "capistrano/mysql_tables"
执行bundle install后无异常,但运行cap -T时出现以下错误:
(Backtrace restricted to imported tasks) cap aborted! LoadError: cannot load such file -- capistrano/mysql_tables
我怀疑是路径问题,参考其他Capistrano插件的结构模仿仍未解决。执行bundle exec gem contents capistrano-mysql_tables的输出如下:
$ bundle exec gem contents capistrano-mysql_tables /Users/username/.gem/ruby/3.0.4/bundler/gems/capistrano-mysql_tables-d1b60186a06b/Gemfile /Users/username/.gem/ruby/3.0.4/bundler/gems/capistrano-mysql_tables-d1b60186a06b/Gemfile.lock /Users/username/.gem/ruby/3.0.4/bundler/gems/capistrano-mysql_tables-d1b60186a06b/LICENSE.txt /Users/username/.gem/ruby/3.0.4/bundler/gems/capistrano-mysql_tables-d1b60186a06b/README.md /Users/username/.gem/ruby/3.0.4/bundler/gems/capistrano-mysql_tables-d1b60186a06b/Rakefile /Users/username/.gem/ruby/3.0.4/bundler/gems/capistrano-mysql_tables-d1b60186a06b/bin/console /Users/username/.gem/ruby/3.0.4/bundler/gems/capistrano-mysql_tables-d1b60186a06b/bin/setup /Users/username/.gem/ruby/3.0.4/bundler/gems/capistrano-mysql_tables-d1b60186a06b/capistrano-mysql_tables.gemspec /Users/username/.gem/ruby/3.0.4/bundler/gems/capistrano-mysql_tables-d1b60186a06b/lib/capistrano-mysql_tables.rb /Users/username/.gem/ruby/3.0.4/bundler/gems/capistrano-mysql_tables-d1b60186a06b/lib/capistrano/mysql_tables.rb /Users/username/.gem/ruby/3.0.4/bundler/gems/capistrano-mysql_tables-d1b60186a06b/lib/capistrano/mysql_tables/version.rb /Users/username/.gem/ruby/3.0.4/bundler/gems/capistrano-mysql_tables-d1b60186a06b/lib/capistrano/tasks/mysql_tables.rake /Users/username/.gem/ruby/3.0.4/bundler/gems/capistrano-mysql_tables-d1b60186a06b/test/capistrano/mysql_tables_test.rb /Users/username/.gem/ruby/3.0.4/bundler/gems/capistrano-mysql_tables-d1b60186a06b/test/test_helper.rb
更新
修复@Alex指出的问题后仍未解决,我将Gem推送到RubyGems,改用标准方式配置Gemfile:
gem "capistrano-mysql_tables"
安装后功能正常,但我想知道为什么之前从GitHub安装会失败?
内容的提问来源于stack exchange,提问作者croceldon
相关产品推荐
相关产品推荐

