6

前几天我下载了 asdf 并试图将它与我从 Github 下载的 ruby​​ on rails 项目一起使用。当我运行时asdf install,我得到以下响应:

firebase 9.10.0 is already installed
ruby 2.7.2 is already installed

然后我运行rails s

No preset version installed for command rails
Please install a version by running one of the following:

asdf install ruby 2.7.2

or add one of the following versions in your config file at 
/Users/******/Desktop/****/.tool-versions
ruby 3.0.1

该项目在 ruby​​ 2.7.2 上运行。

.tool 版本:

ruby 2.7.2
node 12.18.3

我用自制软件安装了 asdf,并将 oh-my-zhs 与 asdf 插件一起使用。

编辑:运行

asdf install ruby 2.7.2

只是说

ruby 2.7.2 is already installed
4

6 回答 6

4

你需要重新打磨红宝石。运行asdf reshim ruby,然后rails s再次尝试运行。

于 2021-05-05T13:28:46.723 回答
2

如果 Ruby 2.7.2 已经在您的.tool-versions文件中,您只需运行即可解决此问题

$ bundle

这将安装正确版本的 Rails gem,一切都应该再次运行。

尝试查看shim-versionsfirst 的输出,您很可能会看到 Ruby 2.7.2 存在,但 Rails 2.7.2 不存在:

$ asdf shim-versions rails
ruby 2.7.0

$ asdf shim-versions ruby
ruby 2.7.2
ruby 2.7.0
于 2021-05-26T11:28:36.453 回答
1

我有一个类似的问题,我刚刚重新安装了导轨。

gem install rails
于 2021-04-24T16:51:51.333 回答
0

我在这个Reddit 线程中发现的以下由Purplespline给出的步骤对我有用:

asdf exec gem install rails

那么您应该能够运行其他 rails 命令。

于 2021-09-29T06:03:32.187 回答
0

你应该先安装 bundle gem

gem install bundle

然后你可以运行bundlebundle install

于 2021-10-05T14:32:59.767 回答
0

对于诊断,请检查输出

哪个红宝石

红宝石--版本

在项目的工作目录中。如果它确实向您显示 ruby​​ 版本 2.7.2,则再次从该工作目录运行“gem install rails”或(如果 gemfile.lock 存在,则为“bundle install”)。

一个常见的错误是在修改 shell 配置文件后没有打开新的 shell。如果某些程序安装在不同的路径,zsh 还需要运行“rehash”命令,但重新打开 shell 会解决这个问题。

于 2021-05-14T21:43:41.183 回答