rbenv不更改Ruby版本

我根据github的指示安装了rbenv。我正在运行OSX,但是我已经在Ubuntu 12.04 VM上进行了尝试,并得到了相同的结果。以下是我尝试更改红宝石版本时在终端中得到的内容:


rbenv versions

* 1.9.3-p0 (set by /Users/user/.rbenv/version)

1.9.3-p125


rbenv global

1.9.3-p0


rbenv rehash


ruby -v

ruby 1.8.7 (2011-12-28 patchlevel 357) [universal-darwin11.0]


which ruby

/usr/bin/ruby

关于rbenv为什么不像它认为的那样切换ruby版本,有人有任何想法吗?此外,本地目录中也没有.rbenv文件,这将导致ruby版本默认为1.8.7。


rbenv local

rbenv: no local version configured for this directory


智慧大石
浏览 918回答 3
3回答

潇潇雨雨

检查PATH是否包含$ HOME / .rbenv / shims和$ HOME / .rbenv / bin$ env | grep PATH如果使用bash,也请检查〜/ .bash_profile中是否包含以下内容;如果使用zsh,请检查〜/ .zshenv中是否包含以下内容export PATH="$HOME/.rbenv/bin:$PATH"eval "$(rbenv init -)"注意:确保它是〜/ .bash_profile中的最后一个设置。我遇到了一个问题,我安装了一个更新.bash_profile并重置PATH的程序。最后,确保你的$HOME文件夹没有.ruby-version,你可以通过意外,如果你已经做到已创建的文件$ rbenv local <ruby-version>你的$HOME文件夹中。执行$ rbenv global <ruby-version>' modifies the$ HOME / .rbenv / version file, and the existence of a.ruby-version file in the$ HOME folder would override the version set by$ HOME / .rbenv / version`。从文档:选择Ruby版本执行填充程序时,rbenv通过从以下来源按以下顺序读取来确定要使用的Ruby版本:RBENV_VERSION环境变量(如果已指定)。您可以使用rbenv shell命令在当前的Shell会话中设置此环境变量。通过搜索正在执行的脚本的目录及其每个父目录,直至到达文件系统的根目录,找到了第一个.ruby-version文件。通过搜索当前工作目录及其每个父目录直至到达文件系统的根目录,找到了第一个.ruby-version文件。您可以使用rbenv local命令在当前工作目录中修改.ruby-version文件。全局〜/ .rbenv / version文件。您可以使用rbenv global命令修改此文件。如果不存在全局版本文件,则rbenv假定您要使用“系统” Ruby —即,如果rbenv不在您的路径中,则将运行任何版本。

慕森王

这可能是一个古老的问题,但Google带领我来到这里,出于后人的考虑,我认为我会分享。经过上述许多推荐的解决方案后,我的问题仍然存在。像OP一样,我安装了rbenv,然后安装了ruby版本,但是我的笔记本电脑默认使用系统。我忽略了的是当我跑步时:[~/.rbenv] $ rbenv versions* system (set by /Users/alphadogg/.rbenv/version)&nbsp; 2.0.0-p247IOW,它仍然默认为系统。快速[~/.rbenv] $ rbenv local 2.0.0-p247将其切换到新版本。

白衣非少年

第一步是找出正在调用的红宝石:which ruby您的系统说:/usr/bin/ruby这不是rbenv使用的填充程序,(在MacOS上)它应该看起来像:/Users/<username>/.rbenv/shims/ruby填充程序实际上是一个脚本,其作用类似于重定向到您设置的红宝石版本。rbenv global 1.9.3&nbsp;rbenv local --unset&nbsp;rbenv shell --unset我建议您为排除故障而取消设置项目特定的“本地”版本和外壳特定的“ shell”版本,并仅使用“全局”版本设置进行测试,该设置由〜/ .rbenv / verion中的纯文本文件确定。在您的情况下,将只是版本号“ 1.9.3”。您可以在项目文件夹(而非主文件夹)的根目录中执行“ ls -laG”,以确保那里不再有“ .ruby-version”文件。您可以使用“ rbenv版本”来标识设置为使用哪个版本的rbenv(以及设置该版本的文件的位置和名称)。rbenv versions无关紧要:直到正确设置路径。使用它来确保您的* MacOS将服从您:eval "$(rbenv init -)"其次是:which ruby确保它看起来像:/Users//.rbenv/shims/ruby然后将该行添加到您的配置文件中,以便在您每次打开新的终端窗口时运行该行:&nbsp;~/.bash_profileeval "$(rbenv init -)"还有其他修改路径的方法,可以随意替换其中任何一种,而无需运行rbenv init。注意:使用以下方法重新安装Rails:gem install rails如果您试图在Ruby on Rails上运行,则需要先使所有这些正常运行,然后再安装rails gem。先前安装的Rails将使用硬编码的路径指向错误的红宝石,而其他几处内容将位于错误的位置,因此只需重新安装gem。PS:如果您的MacOS不服从您(如上所述),那么您可能不得不寻找另一种修改路径的方法,但这不太可能成为问题,因为“ Macs可以工作”;)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Ruby