我使用sudo捆绑安装,这可能是问题的原因?

现在我有:

Gem -v 2.6.14 Ruby -v Ruby 2.3.5p376 (2017-09-14 revision 59905) [x86_64-darwin15] Jekyll -v Jekyll 3.6.2 vbundler版本为1.16.0.pre.3

我得到以下错误时,试图运行捆绑执行jekyll服务或只是jekyll服务

/Users/myusername/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems.rb:271:in `find_spec_for_exe': can't find gem bundler (>= 0.a) (Gem::GemNotFoundException)
    from /Users/myusername/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems.rb:299:in `activate_bin_path'
    from /Users/myusername/.rvm/gems/ruby-2.3.5/bin/bundle:23:in `<main>'
    from /Users/myusername/.rvm/gems/ruby-2.3.5/bin/ruby_executable_hooks:15:in `eval'
    from /Users/myusername/.rvm/gems/ruby-2.3.5/bin/ruby_executable_hooks:15:in `<MacBooMacBook-MacBook-MacBook-Pro-MacBook-PrMacBook-MacBooMacBMaMacBMaMaMaMaMaMaMaMaMacBMaMaMaMacBMa

同样,当访问我的博客cd my_path所在的文件夹时,我得到以下消息:

VM使用你的Gemfile来选择Ruby,这一切都很好- Heroku也这样做, 你可以通过'rvm rvmrc warning ignore /Library/WebServer/Documents/blog/Gemfile'忽略这些警告。 要忽略所有文件的警告,请执行'rvm rvmrc warning ignore allGemfiles'命令。 未知ruby解释器版本(不知道如何处理):RUBY_VERSION。

我不知道该怎么解决。我只是想创建我的静态博客,老实说,我不知道Ruby, Gem或Bundle:)所以我很感激一些见解!


当前回答

安装与您的Gemfile匹配的捆绑器。锁的使用:

gem install bundler -v "$(grep -A 1 "BUNDLED WITH" Gemfile.lock | tail -n 1)"

其他回答

Gemfile开放。锁定,这是在你的应用程序文件夹的根目录。滚动到文件的末尾,查看使用的绑定器版本。然后确保你安装了使用的捆绑包版本:

gem install bundler -v x.xx.xx

或者-删除Gemfile。锁定和捆绑,如果你有更高的捆绑版本安装。

选择在你,我的朋友。

我在运行bin/dev时得到这个错误

bin/dev
/Users/st/.rbenv/versions/3.0.3/lib/ruby/site_ruby/3.0.0/rubygems.rb:265:in `find_spec_for_exe': can't find gem foreman (>= 0.a) with executable foreman (Gem::GemNotFoundException)
    from /Users/st/.rbenv/versions/3.0.3/lib/ruby/site_ruby/3.0.0/rubygems.rb:284:in `activate_bin_path'
    from /Users/st/.rbenv/versions/3.0.3/bin/foreman:25:in `<main>'

我尝试了很多方法,但解决问题的方法很简单:

gem install foreman

现在bin/dev又可以正常工作了。

我必须用力耙干净。然后做了宝石安装耙子等等。

除了许多答案之外,我的问题来自于想要使用docker的ruby作为基础,但后来又在上面使用了rbenv。这会搞砸很多事情。

在这种情况下,我通过:

Gemfile。锁版本确实需要更新-将“wrapped WITH”更改为最新版本确实在某一点上改变了错误消息,所以可能是必需的 在.bash_profile或.bashrc中,清除环境变量:

unset GEM_HOME
unset BUNDLE_PATH

在那之后,rbenv工作得很好。不知道这些环境变量是如何被装载在第一个地方…

我的问题是我正在使用RVM并且激活了错误的Ruby版本…

希望这能帮助到至少一个人