在〜/ src/project /中包含所有文件,我试图运行bundle
和bundle install
,但它告诉我需要一个名为“buff-extensions “并且gem安装程序要求Ruby版本> = 2.2.0才能正常工作。如何控制在运行bundle时使用哪个版本的Ruby
当我运行ruby --version
时,它表示从该目录运行时正在使用Ruby 2.2.4p230。
我知道有几个地方的机器上有几个版本的Ruby,我正在努力遵循这些路径并找出哪个技术使用哪个部分。
在〜/ src/project /中包含所有文件,我试图运行bundle
和bundle install
,但它告诉我需要一个名为“buff-extensions “并且gem安装程序要求Ruby版本> = 2.2.0才能正常工作。如何控制在运行bundle时使用哪个版本的Ruby
当我运行ruby --version
时,它表示从该目录运行时正在使用Ruby 2.2.4p230。
我知道有几个地方的机器上有几个版本的Ruby,我正在努力遵循这些路径并找出哪个技术使用哪个部分。
的Bundler docs拼了这一点:
您可以
ruby
指定红宝石在Gemfile
所需的版本。如果Gemfile
在不同的Ruby版本上加载,则Bundler将引发一个异常并附带说明。
ruby '1.9.3'
这意味着,这个应用程序有一个Ruby VM的依赖是ABI与1.9.3兼容。如果版本检查不匹配,Bundler将引发异常。这将确保运行代码匹配。您可以使用
:engine
和:engine_version
选项更具体。
ruby '1.9.3', :engine => 'jruby', :engine_version => '1.6.7'
我试过了,把“ruby'2.2.4'”放在Gemfile中,它告诉我文档说我会得到同样的错误信息,“你的Ruby版本是2.0.0,但是你的Gemfile指定了2.2.4 ”。它看起来像Gemfile行被视为一个偏好,而不是一个命令。我尝试阅读更多这些文档,特别是页面及其后续链接,您发布了......如果在这些文档中有某种方法可以解决此问题,则无法找到它。 – user7264887
我终于想通了确切的咒语,以获得预期的结果,我现在认识到的情况是不合理的任何一个陌生人去尝试回答。它涉及chef,我本应该运行chef exec bundle
。
:-)这就是我们学习的方式。以及我们如何学习如何与SO合作。一旦你经历了几次循环,就开始明白如何定义一个问题和所有需要的信息。我喜欢Jon Skeet的“[编写完美问题](https://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/)”和“[橡皮鸭问题解决]”(https:/ /blog.codinghorror.com/rubber-duck-problem-solving/)”。 –
您的问题很广泛。我建议删除有关其他技术的专栏,并针对该问题撰写一个明确的问题,因为这是一堆蠕虫。 –
感谢您的建议。我不确定需要多少环境才能提供答案,所以我尽可能多地包含了我可能想到的内容。 – user7264887