我最近从RVM转移到Rbenv,当试图执行rails时,我遇到了一个错误,就像下面的错误一样
Pauls-Air:~ $ rails
rbenv: rails: command not found
The `rails' command exists in these Ruby versions:
2.1.2
在ruby版本中通过命令行安装gem后,您必须执行此处和此处文档中所述的rbenv rehash
例如:
$ rbenv install 2.2.0
$ gem install bundler
$ rbenv rehash
$ gem install rails
$ rbenv rehash
您需要为rbenv
中的每个Ruby版本安装Rails。试着运行rbenv version
,我可能会认为2.1.2不是当前项目使用的ruby版本(本地版本),也可能不是您的全局版本。
我遇到了同样的问题,但这些其他解决方案(或我在其他地方找到的任何其他解决方案)都不起作用。我正要回到RVM,所以我决定彻底摆脱rbenv,它为解决方案铺平了道路。
试试下面的-它对我有效:
-
卸载rbenv,删除bash配置文件中的所有引用rbenv并删除剩余的rbenv文件夹及其内容。
-
用自制软件重新安装rbenv。
-
将其添加回您的bash配置文件:
export PATH="$HOME/.rbenv/bin:/usr/local/bin:$PATH" eval "$(rbenv init -)"
-
重新启动外壳:
exec $SHELL -l
-
检查路径:
echo $PATH
-
安装轨道:
gem install rails
-
rbenv rehash
注:我参考了这个答案的一部分:https://www.codementor.io/tips/3732499178/solution-for-rbenv-rails-is-not-currently-installed-on-this-system-to-get-the-latest-version-simply-type
尝试用2.1.2版本在终端中运行以下命令行来设置环境:
$ rbenv shell 2.1.2
它对我来说是有效的
例如,如果您想用Rails 6安装Ruby 2.5.3遵循以下方式:-renv global 2.5.3
$gem更新--系统
$rbenv安装2.5.3
$rbenv全球2.5.3
$gem安装导轨-v 6.0.2.2
$ruby-v
$rails-v
确保项目目录中的.ruby-version
文件包含与使用rbenv安装的文件相同的ruby版本。
对我来说,我用列出的"rails"命令存在于这些Ruby版本中;。
$ rbenv shell 2.1.2
$ rails -v
它有效。
问题是您的全局ruby版本与您安装的本地版本不匹配,该版本为2.1.2。请尝试在bash-shell中的任何位置执行:
rbenv global 2.1.2
这样rails
将由rbenv
在您的$HOME
目录和其他任何位置找到。
rbenv全球
通过编写~/.rbenv/version文件的版本名。此版本可以由特定于应用程序的.rube版本文件重写,或由设置RBENV_VERSION环境变量。