在任何来源中都找不到 public_suffix-2.0.4

bem*_*med 5 ruby macos rubygems jekyll

当我尝试将 Google Tag Manager Gem 添加到我的 Jekyll 本地安装时,它就开始了。

这里有一点背景,我正在使用自制软件和 rbenv。
我的 ruby​​ 版本是 2.4.1 或者至少我认为是。

gem 没有安装,之后 Jekyll 开始给我这条消息:

Could not find public_suffix-2.0.4 in any of the sources
Run `bundle install` to install missing gems.
Run Code Online (Sandbox Code Playgroud)

运行“捆绑安装”后,我收到此错误:

Rubygems 2.0.14.1 is not threadsafe, so your gems will be installed one at a time. Upgrade to Rubygems 2.1.0 or higher to enable parallel gem installation.
Using public_suffix 2.0.4
Using colorator 1.1.0
Using ffi 1.9.14
Using forwardable-extended 2.6.0
Using sass 3.4.22
Using rb-fsevent 0.9.8
Using kramdown 1.12.0
Using liquid 3.0.6
Using mercenary 0.3.6
Using rouge 1.11.1
Using safe_yaml 1.0.4
Using bundler 1.14.6
Using addressable 2.5.0
Using rb-inotify 0.9.7
Using pathutil 0.14.0
Using jekyll-sass-converter 1.4.0
Using listen 3.0.8
Using jekyll-watch 1.5.0
Using jekyll 3.3.0
Using jekyll-feed 0.8.0
Bundle complete! 2 Gemfile dependencies, 20 gems now installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.
Run Code Online (Sandbox Code Playgroud)

所以我尝试更新Rubygems。傻我。

此消息显示在终端上:

/usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/yaml.rb:5:in <top (required)>': It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby. /usr/local/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:inrequire': dlopen(/usr/local/lib/ruby/gems/2.4.0/gems/ psych-2.2.4/lib/psych.bundle, 9): 库未加载:/usr/local/opt/ruby/lib/libruby.2.4.0.dylib (LoadError) 引用自:/usr/local/lib/ ruby/gems/2.4.0/gems/psych-2.2.4/lib/psych.bundle 原因:找不到图像 - /usr/local/lib/ruby/gems/2.4.0/gems/psych-2.2.4/ lib/psych.bundle 来自 /usr/local/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in require' from /usr/local/lib/ruby/gems/2.4.0/gems/psych-2.2.4/lib/psych.rb:8:in' 来自 /usr/local/lib/ruby/site_ruby/2.4.0/rubygems /core_ext/kernel_require.rb:55:in require' from /usr/local/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:inrequire' from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/yaml.rb:6:in load_yaml' from /usr/local/lib /ruby/site_ruby/2.4.0/rubygems/config_file.rb:340:in<top (required)>' from /usr/local/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in require' from /usr/local/lib /ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:inrequire' from /usr/local/lib/ruby/site_ruby/2.4.0/rubygems.rb:701:inload_file' from /usr/local/lib/ruby/site_ruby/2.4.0/rubygems/config_file.rb:202:in从 /usr/local/lib/ruby/site_ruby/2.4.0/rubygems/gem_runner.rb:75:in new' from /usr/local/lib/ruby/site_ruby/2.4.0/rubygems/gem_runner.rb:75:indo_configuration' 从 /usr/local/lib/ruby/site_ruby/2.4.0/rubygems/gem_runner.rb初始化:40:在run' from /usr/local/bin/gem:21:in'

我有没有提到我正在使用自制软件和 rbenv?好的。

今天早上我重新安装了 Ruby(使用 Homebrew)并告诉 rbenv 使用那个版本。

所以我认为我的路径可能是问题,但我怀疑,因为这是我的路径文件的内容:

/Users/bgomes/.nvm/versions/node/v6.10.2/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin
Run Code Online (Sandbox Code Playgroud)

这是 .bash_profile 的内容:

[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile
test -e "${HOME}/.iterm2_shell_integration.bash" && source "${HOME}/.iterm2_shell_integration.bash"
export export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
source ~/.nvm/nvm.sh
Run Code Online (Sandbox Code Playgroud)

这是 .bashrc 的内容:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
source ~/.nvm/nvm.sh
Run Code Online (Sandbox Code Playgroud)

如果这里的想法和最终可以使用您的帮助,我就出去了。

谢谢。

San*_*ada 6

运行 bundle update && bundle install 对我有用


bem*_*med 5

对,所以解决我的问题是破坏ruby的自制安装,删除它的符号链接,然后安装rvm并通过rvm安装ruby。

我花了 3 个小时才找到这个解决方案。

¯\_(?)_/¯