web-dev-qa-db-ja.com

Rails:いずれのソースからも、concurrent-Ruby-1.0.5が見つかりませんでした(Bundler :: GemNotFound)

私はこれをかなりググってみましたが、私の状況に役立つものは何も見つかりませんでした。

$ docker-compose up abc

ログに以下を生成します。

/usr/lib/Ruby/vendor_Ruby/bundler/spec_set.rb:92:in `block in materialize': Could not find concurrent-Ruby-1.0.5 in any of the sources (Bundler::GemNotFound)
   from /usr/lib/Ruby/vendor_Ruby/bundler/spec_set.rb:85:in `map!'
   from /usr/lib/Ruby/vendor_Ruby/bundler/spec_set.rb:85:in `materialize'
   from /usr/lib/Ruby/vendor_Ruby/bundler/definition.rb:132:in `specs'
   from /usr/lib/Ruby/vendor_Ruby/bundler/definition.rb:177:in `specs_for'
   from /usr/lib/Ruby/vendor_Ruby/bundler/definition.rb:166:in `requested_specs'
   from /usr/lib/Ruby/vendor_Ruby/bundler/environment.rb:18:in `requested_specs'
   from /usr/lib/Ruby/vendor_Ruby/bundler/runtime.rb:13:in `setup'
   from /usr/lib/Ruby/vendor_Ruby/bundler.rb:121:in `setup'
   from /usr/lib/Ruby/vendor_Ruby/bundler/setup.rb:17:in `<top (required)>'
   from /usr/lib/Ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
   from /usr/lib/Ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'

私のdocker-compose.ymlファイルからの関連ビット:command: bundle exec Rails server

concurrent-Rubyは、間違いなくインストールする必要があります。私はDocker内でbundle installを何度も実行しており、docker-composeコマンドにgem install concurrent-Ruby -v 1.0.5を追加しようとしましたが、正常にインストールされますが、宝石。 docker-composeコマンドにbundle installを直接追加しようとしましたが、docker-composeとgit(2つの内部gemを使用している)に関連する既知の問題が原因で失敗します。 [編集: https://github.com/docker/compose/issues/2856#issuecomment-236625662 ]

いくつかのRuby gemsをアップグレードするまではすべてうまくいきましたが、なぜ、どのように修正するのかわかりません。

9
user19230

私はDocker以外でこれに似た問題を抱えていました。

Gemfile.lockを削除してbundleを実行しました。

問題はなくなりました。

あなたのマイレージは異なる場合があります。

10
dmmfll

Docker-composeでも同じエラーが発生しました。どうやら、それはgemをインストールしていたのですが、docker-compose run backend bundle installを実行した後、Gemfile.lockファイルが正しく更新されました。それでも、このGemまたは他のGemのいずれかでこのエラーが引き続き表示されます。

場合によっては、Dockerでバンドルのインストールを実行するだけでは不十分なことがわかります。ここのドキュメントで指定されているとおり: https://docs.docker.com/compose/Rails/ バンドルのインストールを実行した後、イメージを再構築する必要がある場合があります。これは私の問題を修正しました:

docker-compose run backend bundle install
docker-compose build
2
Jose

tl; dr:セットGEM_HOME = BUNDLE_PATH

Dockerを使用しているので、おそらくBUNDLE_PATHの値を変更して宝石をキャッシュできると思いますか?その場合は、GEM_HOME変数をこの値に設定することもできます。

その理由を正確に説明することはできません。私の理論は、...何かがGEM_HOMEの値を誤って使用しているときにBUNDLE_PATHを使用する必要があるため、RailsプロジェクトのGemfileはありません。

1
sarink

Metasploit-frameworkを再インストールしない限り、何も機能しません。 1週間問題に直面しています。私は個人的に試してみましたが、現在実行しています。

$ pkg upgrade && pkg install git && pkg install curl && pkg install wget && pkg install nmap && curl -LO raw.githubusercontent.com/Hax4us/Metasploit_termux/master/metasploit.sh && chmod 777 metasploit.sh && ./metasploit.sh

0
hackrz_of_heart