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

时间:2018-08-28 06:05:45

标签: ruby-on-rails ruby

我正在尝试构建新的应用程序或检查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)

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

任何帮助都会很棒。

  

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

7 个答案:

答案 0 :(得分:4)

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

有关当前的稳定版本:
$ gem install rails

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

希望有帮助。

答案 1 :(得分:3)

我要运行rvm reset,它开始工作。我发现的解决方案与rvm警告“警告!未正确设置PATH,/ Users / xxx / .rvm / gems / ruby​​-2.5.3 / bin不在第一位。”有关。 (OSX Catalina)

答案 2 :(得分:2)

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

如果仍然出现错误,请运行

bundle install --path vendor/bundle

答案 3 :(得分:1)

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

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

答案 4 :(得分:0)

当您尝试安装gem而不针对旧的ruby版本指定该gem的版本时,很可能会发生这种情况。在您使用不兼容的红宝石版本的同时,gem会尝试安装更新的版本。因此,我们以Rails为例。假设您使用的是旧版Ruby,例如2.1。然后,您将无法安装最新版本的Rails。您将必须安装较旧的版本,例如Rails 4:

rvm-prompt
ruby-2.1.2
rvm gemset create validations_test
rvm use @validations_test

安装与ruby版本一起使用的捆绑软件版本:

gem install bundler -v 1.17.3

安装可与Ruby 2.1配合使用的Rails 4:

gem install rails -v 4.2

Nokogiri可能会安装失败。因此,它将提示您安装旧版本的nokogiri:

gem install nokogiri -v 1.9.1

现在完成安装Rails(因为Nokogiri会为Rails 4所需安装的所有gem带来麻烦):

gem install rails -v 4.2

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

rails _4.2_ new validations_test 

答案 5 :(得分:0)

  1. 您应该拥有2.5.0以上的红宝石版本
  2. 然后运行命令:gem update
  3. 现在创建一个新的应用程序。

答案 6 :(得分:0)

当我添加“sudo”时,我解决了:

sudo rails -v