fzngagan
(Faizaan Gagan)
2020 年 8 月 22 日午後 10:53
1
@sam
プラグイン内で一部の gem(例:google-protobuf)をインストールできません。この gem は google-cloud-vision gem の依存関係です。
インストールを試みたプラグインは以下です:GitHub - fzngagan/gem-issue · GitHub
ログ
gem install google-protobuf -v 3.13.0 -i /Users/faiz/discenv/discourse/plugins/gem-issue/gems/2.6.3 --no-document --ignore-dependencies --no-user-install
Successfully installed google-protobuf-3.13.0-universal-darwin
1 gem installed
You are specifying the gem google-protobuf in /Users/faiz/discenv/discourse/plugins/gem-issue/plugin.rb, however it does not exist!
Looked for: /Users/faiz/discenv/discourse/plugins/gem-issue/gems/2.6.3/specifications/google-protobuf-3.13.0.gemspec
この問題の原因は、.gemspec ファイルの名前が、コード内で想定されている spec_file の名前と一致していないことです。
spec_file = spec_path + "/#{name}-#{version}.gemspec"
unless File.exists? spec_file
command = "gem install #{name} -v #{version} -i #{gems_path} --no-document --ignore-dependencies --no-user-install"
if opts[:source]
command << " --source #{opts[:source]}"
end
puts command
puts `#{command}`
end
if File.exists? spec_file
spec = Gem::Specification.load spec_file
spec.activate
unless opts[:require] == false
require opts[:require_name] ? opts[:require_name] : name
end
else
puts "You are specifying the gem #{name} in #{path}, however it does not exist!"
puts "Looked for: #{spec_file}"
exit(-1)
end
end
私の見解では、これはプラットフォーム固有の gem を使用した場合にのみ発生する可能性があります。プラットフォーム依存の gem の場合、プラットフォーム名が gem 名に追加されるためです。これは以下で説明されています:Specification Reference - RubyGems Guides
「いいね!」 3
eviltrout
(Robin Ward)
2020 年 8 月 24 日午後 4:58
2
なぜこのトピックで私をメンションしたのか不明です。カスタムジェムの解決については詳しくないので、申し訳ありません。
「いいね!」 1
fzngagan
(Faizaan Gagan)
2020 年 8 月 24 日午後 5:45
3
ブレイムを確認しましたが、このファイルへのコミット数が一番多いのはあなたですね?正しい方向へ導いていただければ嬉しいです
eviltrout
(Robin Ward)
2020 年 8 月 24 日午後 7:58
4
@sam さんがお手伝いできるかもしれません。彼はプラグイン向けの gem 取り込み機能を実装しました。
「いいね!」 3
@sam 、この件で @fzngagan をお手伝いいただけますか?私はこのプラグンをスポンサーしています。
これは全員が利用可能になります。潜在的に有害な画像からフォーラムを守り続けることは不可欠であり、Google AdSense から禁止されたコンテンツによるストライクを受けないようにする助けになります。
「いいね!」 1
sam
(Sam Saffron)
2020 年 8 月 28 日午前 7:50
8
ここにはバグがあるようです。この不具合を修正するためにプルリクエストを送ってみてはいかがでしょうか?
「いいね!」 2
fzngagan
(Faizaan Gagan)
2020 年 8 月 28 日午後 9:25
9
master ← fzngagan:gem-platform
merged 02:36AM - 31 Aug 20 UTC
Discussed here: https://meta.discourse.org/t/facing-an-issue-while-installing-so… me-gems-in-the-plugin/161780
この問題に対処する非常にシンプルな PR です。
開発者がプラットフォームに関することを気にしなくて済むような、より凝った方法を探してみましたが、見つけることはできませんでした。もしより良い解決策が見つかったら、改善する用意があります。
また、開発者へのヒントですが、開発中は単に discourse の gemfile に gem を追加するだけで、混乱せずに済みます。これらすべてを気にするのはデプロイ時のみです。
「いいね!」 5