【问题标题】:Broken Gem Path on Terminal Start Mac OS X终端启动 Mac OS X 上的宝石路径损坏
【发布时间】:2019-12-20 13:02:24
【问题描述】:

当打开一个新终端时,我得到:

Traceback (most recent call last):
        3: from /usr/local/bin/bundle:22:in `<main>'
        2: from /usr/local/Cellar/ruby/2.6.5/lib/ruby/2.6.0/rubygems/core_ext/kernel_gem.rb:65:in `gem'
        1: from /usr/local/Cellar/ruby/2.6.5/lib/ruby/2.6.0/rubygems/dependency.rb:323:in `to_spec'
/usr/local/Cellar/ruby/2.6.5/lib/ruby/2.6.0/rubygems/dependency.rb:311:in `to_specs': Could not find 'bundler' (>= 0) among 7 total gem(s) (Gem::MissingSpecError)
Checked in 'GEM_PATH=/Users/tkellogg/.gem/ruby/2.6.0:/usr/local/lib/ruby/gems/2.6.0:/usr/local/Cellar/ruby/2.6.5/lib/ruby/gems/2.6.0', execute `gem env` for more information

Bash 配置文件如下所示:

. ~/.bashrc

# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

bashrc 的样子;

# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"

我已将默认系统 ruby​​ 设置为 2.6.5,并且我已升级自制软件。

有什么想法吗?

运行bundle update --bundler 得到env: ruby: Argument list too long

这是gem env的结果:

Ignoring gem-wrappers-1.4.0 because its extensions are not built. Try: gem pristine gem-wrappers --version 1.4.0
Error loading RubyGems plugin "/Users/me/.rvm/rubies/ruby-2.6.5/lib/ruby/gems/2.6.0/gems/gem-wrappers-1.4.0/lib/rubygems_plugin.rb": cannot load such file -- gem-wrappers (LoadError)
RubyGems Environment:
  - RUBYGEMS VERSION: 3.1.2
  - RUBY VERSION: 2.3.7 (2018-03-28 patchlevel 456) [universal.x86_64-darwin18]
  - INSTALLATION DIRECTORY: /Users/me/.gem
  - USER INSTALLATION DIRECTORY: /Users/me/.gem/ruby/2.3.0
  - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
  - GIT EXECUTABLE: /usr/local/bin/git
  - EXECUTABLE DIRECTORY: /Users/me/.gem/bin
  - SPEC CACHE DIRECTORY: /Users/me/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /Library/Ruby/Site
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-18
  - GEM PATHS:
     - /Users/me/.gem
     - /Users/me/.rvm/gems/ruby-2.6.5
     - /Users/me/.rvm/rubies/ruby-2.6.5/lib/ruby/gems/2.6.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /usr/local/bin
     - /usr/local/sbin
     - /Users/me/anaconda3/bin
     - /Users/me/.node/bin
     - /Users/me/.yarn/bin
     - /Users/me/.nvm/versions/node/v10.14.1/bin
     - /Users/me/bin
     - /usr/bin
     - /usr/local/heroku/bin
     - /Users/me/.gvm/pkgsets/go1.8.3/global/bin
     - /Users/me/.gvm/gos/go1.8.3/bin
     - /Users/me/.gvm/pkgsets/go1.8.3/global/overlay/bin
     - /Users/me/.gvm/bin
     - /Users/me/.gvm/bin
     - /Users/me/go
     - /Users/me/go/bin
     - /Library/Frameworks/Python.framework/Versions/3.6/bin
     - ~/npm-global/bin
     - /Users/me/.yarn/bin
     - /Users/me/bin
     - /usr/bin
     - /usr/local/heroku/bin
     - /Users/me/.gvm/pkgsets/go1.8.3/global/bin
     - /Users/me/.gvm/gos/go1.8.3/bin
     - /Users/me/.gvm/pkgsets/go1.8.3/global/overlay/bin
     - /Users/me/.gvm/bin
     - /Users/me/.gvm/bin
     - /Users/me/go
     - /Users/me/go/bin
     - /Users/me/.yarn/bin
     - /Users/me/bin
     - /usr/bin
     - /usr/local/heroku/bin
     - /Users/me/.rvm/gems/ruby-2.6.5/bin
     - /Users/me/.rvm/gems/ruby-2.6.5@global/bin
     - /Users/me/.rvm/rubies/ruby-2.6.5/bin
     - /Users/me/.rvm/bin
     - /Users/me/.yarn/bin
     - /Users/me/bin
     - /usr/bin
     - /usr/local/heroku/bin
     - /Users/me/.gvm/pkgsets/go1.8.3/global/bin
     - /Users/me/.gvm/gos/go1.8.3/bin
     - /Users/me/.gvm/pkgsets/go1.8.3/global/overlay/bin
     - /Users/me/.gvm/bin
     - /Users/me/.gvm/bin
     - /Users/me/.gvm/pkgsets/go1.8.3/global
     - /Users/me/.gvm/pkgsets/go1.8.3/global/bin
     - ~/bin
     - /usr/local/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /usr/local/go/bin
     - /Users/me/anaconda3/bin
     - /Users/me/.node/bin
     - /Users/me/.gvm/pkgsets/go1.8.3/global/bin
     - /Users/me/.gvm/gos/go1.8.3/bin
     - /Users/me/.gvm/pkgsets/go1.8.3/global/overlay/bin
     - /Users/me/.gvm/bin
     - /Users/me/go
     - /Users/me/go/bin
     - /Library/Frameworks/Python.framework/Versions/3.6/bin
     - ~/npm-global/bin
     - /Users/me/.yarn/bin
     - /Users/me/bin
     - /usr/local/heroku/bin
     - /usr/local/mysql/bin
     - /usr/local/mysql/bin
     - /Users/me/.rvm/bin
     - /Users/me/.rvm/bin
     - /Users/me/.rvm/bin
     - /Users/me/.rvm/bin

【问题讨论】:

  • 请更新您的问题以包含 gem env 的输出。听起来你的 PATH 变量有问题

标签: ruby rubygems rvm


【解决方案1】:

看起来您可能已经使用 Homebrew 安装了 ruby​​,但您尝试使用 RVM,这可能会导致问题。如果是这种情况,您可能应该重新开始。

首先卸载 RVM

rvm implode

然后卸载 ruby​​

brew uninstall ruby

然后重新安装 RVM 参见https://rvm.io/rvm/install

根据您的gem env 更新您的PATH 变量显然搞砸了。您可以尝试通过查看this question 的答案来修复它,也可以try this solution。但设置一个新的用户帐户并从新的 shell 设置开始,然后重新运行上述步骤可能会更容易。

【讨论】:

  • 谢谢。现在我在终端启动时得到一个不同的错误:bash: /usr/local/bin/bundle: /usr/local/opt/ruby/bin/ruby: bad interpreter: No such file or directory env: ruby: Argument list too long
  • 好的,我去看看链接。
  • 查看更新,添加第二个链接到另一个选项以尝试
猜你喜欢
  • 1970-01-01
  • 2019-05-02
  • 2010-09-11
  • 2011-04-08
  • 1970-01-01
  • 2012-01-19
  • 2015-11-25
  • 2012-12-18
  • 1970-01-01
相关资源
最近更新 更多