gpt4 book ai didi

ruby-on-rails - "bundle exec spring"不与 rbenv 一起工作?

转载 作者:数据小太阳 更新时间:2023-10-29 06:46:31 26 4
gpt4 key购买 nike

为什么 bundle exec spring 不起作用?

我已经在调用 bundle exec 并返回错误。我可以一直调用 bundle exec。 (这是可能重复问题的解决方案)。

我不会通过 bundle update spring 更新我的 Gemfile 或卸载一个版本的 spring 来完成这项工作。我不应该被迫更改我的 gem 安装。

bundle binstubs spring 也不工作。

steve-air:finalcloud main$ spring -v
Spring version 1.3.5
steve-air:finalcloud main$ bundle exec spring -v
Spring version 1.3.4
steve-air:finalcloud main$ bundle exec spring
/Users/main/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/bundler-1.9.7/lib/bundler/runtime.rb:34:in `block in setup': You have already activated spring 1.3.5, but your Gemfile requires spring 1.3.4. Prepending `bundle exec` to your command may solve this. (Gem::LoadError)
from /Users/main/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/bundler-1.9.7/lib/bundler/runtime.rb:19:in `setup'
from /Users/main/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/bundler-1.9.7/lib/bundler.rb:122:in `setup'
from /Users/main/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/bundler-1.9.7/lib/bundler/setup.rb:8:in `<top (required)>'
from /Users/main/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /Users/main/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /Users/main/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/spring-1.3.5/lib/spring/commands.rb:33:in `<module:Spring>'
from /Users/main/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/spring-1.3.5/lib/spring/commands.rb:4:in `<top (required)>'
from /Users/main/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /Users/main/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /Users/main/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/spring-1.3.5/lib/spring/server.rb:9:in `<top (required)>'
from /Users/main/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in `require'
from /Users/main/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in `rescue in require'
from /Users/main/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:39:in `require'

复制:

  1. rebenv 安装了 Ruby。
  2. 卸载所有 Spring gem。
  3. 安装较低版本的Spring(如1.3.4)。
  4. 制作一个新的 Rails 应用。
  5. 安装更高版本的 Spring(1.3.5 似乎已经消失,但我用 1.3.6 进行了复制)。
  6. 按照上面命令行中的步骤操作。

最佳答案

经过一番探索后,似乎这里可能有几件事在起作用:

  1. 系统通过 bundler 安装的 gem 安装了 gem,rails 有特殊的行为
  2. 在 rvm 和 bundle 级别生成 binstubs
  3. Spring 1.3.5 中的异常行为

问题的根本原因似乎是 https://github.com/rails/spring/issues/295已在 1.3.6 中修复。请参阅:https://github.com/rails/spring/blob/master/CHANGELOG.md#136

遗憾的是,事实证明您无法使用作者在问题中指定的约束来解决此问题。

关于ruby-on-rails - "bundle exec spring"不与 rbenv 一起工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30199075/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com