找不到带有可执行导轨的 gem railties (>= 0.a) (Gem::GemNotFoundException)

Viv*_*rma 12 ruby ruby-on-rails

我正在尝试构建一个新应用程序或检查 rails 的版本。我收到以下错误:

Traceback (most recent call last):
    2: from /usr/local/bin/rails:22:in `<main>'
    1: from /Users/vivanksharma/.rbenv/versions/2.5.1/lib/ruby/2.5.0/rubygems.rb:263:in `bin_path'
/Users/vivanksharma/.rbenv/versions/2.5.1/lib/ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': can't find gem railties (>= 0.a) with executable rails (Gem::GemNotFoundException)
Run Code Online (Sandbox Code Playgroud)

我搜索了许多不同的解决方案,但没有一个对我有用。

任何帮助都会很棒。

ruby -v ruby​​ 2.5.1p57 (2018-03-29 修订版 63029) [x86_64-darwin17]

rbenv -v rbenv 1.1.1

即使执行也会bundle install出错Could not locate Gemfile

小智 12

尝试运行 gem install bundler 然后运行bundle

如果您仍然收到错误,请运行,

bundle install --path vendor/bundle
Run Code Online (Sandbox Code Playgroud)


小智 9

我想跑rvm reset,它开始工作。我找到的解决方案与 rvm 警告“警告!路径设置不正确,/Users/xxx/.rvm/gems/ruby-2.5.3/bin 不是第一位的。”有关。(OSX 卡特琳娜)


小智 7

我在创建新的 gemset 并查询 rails 版本时遇到了同样的错误。就我而言,我只是还没有安装 rails gem。
我只需要执行以下操作:

对于当前的稳定版本:
$ gem install rails

要获得特定版本,例如 5.2.2.0:
gem install rails --version=5.2.2.0

希望有帮助。


Don*_*ato 5

当您尝试安装 gem 而不指定该 gem 的版本时,很可能会发生这种情况。gem 将尝试安装更新的版本,同时您使用的是不兼容的 ruby​​ 版本。所以让我们以 Rails 为例。假设您使用的是较旧的 Ruby 版本,例如 2.1。那么您将无法安装最新版本的 Rails。你必须安装像 Rails 4 这样的旧版本:

rvm-prompt
ruby-2.1.2
rvm gemset create validations_test
rvm use @validations_test
Run Code Online (Sandbox Code Playgroud)

安装适用于 ruby​​ 版本的 bundler 版本:

gem install bundler -v 1.17.3
Run Code Online (Sandbox Code Playgroud)

安装适用于 Ruby 2.1 的 Rails 4:

gem install rails -v 4.2
Run Code Online (Sandbox Code Playgroud)

Nokogiri 可能会安装失败。所以它会提示你安装旧版本的 nokogiri:

gem install nokogiri -v 1.9.1
Run Code Online (Sandbox Code Playgroud)

现在完成安装 Rails(因为 Nokogiri 将完成所有需要为 Rails 4 安装的 gem):

gem install rails -v 4.2
Run Code Online (Sandbox Code Playgroud)

现在确保在创建新项目时使用的是 Rails 4:

rails _4.2_ new validations_test 
Run Code Online (Sandbox Code Playgroud)


PJS*_*and 5

我唯一的问题是我需要rails运行bundle exec.

% rails g --help; echo $?
...
can't find gem railties (>= 0.a) with executable rails (Gem::GemNotFoundException)
1
Run Code Online (Sandbox Code Playgroud)
% bundle exec rails g --help; echo $?
...
Usage: rails generate GENERATOR [args] [options]
...
0
Run Code Online (Sandbox Code Playgroud)