我如何使用正确版本的Ruby?

时间:2017-09-26 18:31:55

标签: ruby-on-rails ruby bundler

我已经开始bundle

C:\Users\Chloe\workspace>rails -v
Your Ruby version is 2.3.1, but your Gemfile specified ~> 2.4.0

C:\Users\Chloe\workspace>ruby -v
ruby 2.4.2p198 (2017-09-14 revision 59899) [x64-mingw32]

C:\Users\Chloe\workspace>path
PATH=C:\ruby24\bin;...

3 个答案:

答案 0 :(得分:0)

我的路上还有npm config set prefix <C:\Users\ME\AppData\Roaming\npm> 。我删除它,关闭&amp;重新打开shell,现在找不到C:\ruby23rails必须使用rails。我又跑了2.3并注意到了

bundle

几次。我运行了安装程序MSYS2 could not be found. Please run 'ridk install' or download and install MSYS2 manually from https://msys2.github.io/ (即使我已经安装了DevKit)。我又跑了ridk install。但这导致了错误

bundle

我运行了Gem::InstallError: nokogiri requires Ruby version < 2.4, >= 2.1.0. An error occurred while installing nokogiri (1.7.0.1), and Bundler cannot continue. Make sure that `gem install nokogiri -v '1.7.0.1'` succeeds before bundling. (与gem install rails -v 5.0.2相同的版本)并使用Nokogiri 1.8.1进行了正常安装

Gemfile

Fetching: nokogiri-1.8.1-x64-mingw32.gem (100%) Nokogiri is built with the packaged libraries: libxml2-2.9.5, libxslt-1.1.30, zlib-1.2.11, libiconv-1.15. Successfully installed nokogiri-1.8.1-x64-mingw32 仍然失败,仍然尝试安装Nokogiri 1.7.0.1,bundle仍然失败,并显示错误,说无法找到Nokogiri 1.7.0.1。

现在这是一个新问题,所以我将创建一个新帖子。

答案 1 :(得分:0)

我会使用asdf或rvm来控制你的ruby版本。这些是编程语言版本控制程序,允许您在系统上拥有多个版本的语言,并控制哪个版本适用于哪个项目。以下是链接:

https://github.com/asdf-vm/asdf

https://rvm.io

实际上,它们在短时间内使用起来非常简单。我更喜欢asdf,但如果你只使用ruby rvm就足够了。

答案 2 :(得分:0)

 cd project/dir
 touch .ruby-version
 echo "ruby-x.x.x" > .ruby-version

在项目目录中创建.ruby-version文件,并在此文件中复制实际的ruby版本。

此版本将在您[&#34; cd&#39;进入&#34;项目/目录&#34;。

仅在使用rvm作为版本管理器的mac上进行测试和测试。

您还可以在Gemfile中指定ruby版本,如下所示(未测试)。

  ruby 2.x.x