簡體   English   中英

盡管捆綁安裝,但未發現Ruby Gems

[英]Ruby Gems not found despite bundle install

我有一個Rails應用程序。 我的合作者更新了應用程序的Ruby版本並添加了Gems。 我不得不將我的本地版本的Ruby更新為2.3.1。

現在看來rails在不同的位置尋找寶石,而不是捆綁安裝放置它們。 我需要做些什么才能在同一個地方放置和尋找寶石?

具體來說,當我嘗試啟動Rails服務器時

 rails s 

我收到了消息

 /Users/Falk/.rbenv/versions/2.3.1/lib/ruby/2.3.0/rubygems/dependency.rb:319:in `to_specs': Could not find 'railties' (>= 0) among 5 total gem(s) (Gem::LoadError) Checked in 'GEM_PATH=/Users/Falk/.gem/ruby/2.3.0:/Users/Falk/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0', execute `gem env` for more information from /Users/Falk/.rbenv/versions/2.3.1/lib/ruby/2.3.0/rubygems/dependency.rb:328:in `to_spec' from /Users/Falk/.rbenv/versions/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_gem.rb:65:in `gem' from /usr/local/bin/rails:22:in `<main>' 

即使我已經跑了,也會發生這種情況

 bundle install 

並且所有必需的寶石都包含在gem文件中。 通過手動卸載和重新安裝各個寶石,我能夠取得進步

 gem uninstall <gem_name> gem install <gem_name> 

但它繼續抱怨一個又一個丟失的寶石。 然后我卸載了所有使用的寶石

 for x in `gem list --no-versions`; do gem uninstall $x -a -x -I; done 

之后,捆綁安裝仍然就像已經安裝了所有寶石一樣。 但是導軌仍然不起作用並且抱怨失蹤的寶石。 我現在應該怎么辦?

我能夠通過遵循此處概述的步驟來解決此問題: bundle使用錯誤的ruby版本

轉到您嘗試運行的服務/存儲庫,然后轉到bin / bundle文件。 打開文件,你會發現這樣的代碼片段:

ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
load Gem.bin_path('bundler', 'bundle')

如此處所述,更改gem文件的路徑,然后在您的服務/存儲庫中找到您的gemfile。 通過檢查其源代碼提供正確的目錄路徑。 之后將所有寶石都包含在gem文件中,如下所示:

gem 'protobuf'
gem 'grpc'
gem 'protobuf-activerecord'

最后用

捆綁列表

檢查捆綁包是否已在其中初始化所有寶石。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM