繁体   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