Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails命令错误_Ruby On Rails_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails Rails命令错误

Ruby on rails Rails命令错误,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我即将开始另一个web应用程序的工作,我将目录更改为 /rails\u项目 进入 rails新空白 然后我得到这个错误 Error: Command not recognized Usage: rails COMMAND [ARGS] The common rails commands available for engines are: generate Generate new code (short-cut alias: "g") destroy U

我即将开始另一个web应用程序的工作,我将目录更改为

/rails\u项目

进入

rails新空白

然后我得到这个错误

Error: Command not recognized
Usage: rails COMMAND [ARGS]

The common rails commands available for engines are:
 generate    Generate new code (short-cut alias: "g")
 destroy     Undo code generated with "generate" (short-cut alias: "d")

All commands can be run with -h for more information.

If you want to run any commands that need to be run in context
of the application, like `rails server` or `rails console`,
you should do it from application's directory (typically test/dummy).
我已经重新安装了rails,但还是一样的错误,有什么想法吗

更新:

当我只是打字时,它实际上给了我同样的错误

rails-h

轨道


在cmd中,rails命令似乎认为它在rails引擎中,这就是为什么您可以使用不同的命令集。请注意“可用于发动机的命令”文本。New不是可用于发动机的命令。我不知道为什么rails认为您所在的目录是一个引擎,但您的目录结构可能有点混乱。

创建另一个目录并运行
$ruby-v
,检查哪个版本可用。现在运行
rails新应用程序\u name
。关闭终端并重新启动后重试一次

如果有人遇到这个错误,需要一个万不得已的计划

我最终卸载了rails、rvm,并安装了更新版本的ruby和新的gemset

rvm implode
gem uninstall rails -v=4.0.2
gem uninstall railities
安装rvm:

curl -L https://get.rvm.io | bash -s
rvm get stable
对于mac:

brew install libtool libxslt libksba openssl
brew install libyaml
安装ruby:

rvm install 2.0.0 --with-openssl-dir=$HOME/.rvm/usr
如果你有错误

rvm install 2.0.0 --with-openssl-dir=$HOME/.rvm/opt/openssl
从网站安装新的ruby gems。解包,然后转到文件夹并运行

ruby setup.rb
gem update --system 2.1.9
安装rails(您可以选择您的版本)


我这样做了,现在系统又正常工作了。

我在尝试将Rails引擎从3.2升级到4.1时遇到了类似的问题

罪魁祸首是存在
script/rails
,其中包含:

#!/usr/bin/env ruby
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.

ENGINE_ROOT = File.expand_path('../..', __FILE__)
ENGINE_PATH = File.expand_path('../../lib/my_project/engine', __FILE__)

require 'rails/all'
require 'rails/engine/commands'
问题行在末尾:
require'rails/engine/commands
。这不允许加载完整的Rails CLI,因为它忽略了
new
命令。删除那个文件解决了我的问题


我很确定这不是你的具体问题的原因,但症状和我的一样,这是谷歌上错误信息的第一个链接。只是将我的发现传递给遇到同样情况的其他人。

对于可能出现类似错误的人,这为我解决了:

rake rails:update:bin

这将生成二进制文件的“新”版本。当它询问您更换它们时,只需说
Yes

当加载时gem(依赖项)中出现require错误时,这种情况会发生在我身上。

您的rails是什么版本?必须尝试rails-v吗?还有,你有ruby安装吗?rails版本4.0.2 ruby版本2.0.0I创建了一个新的目录,并在该目录中尝试了该命令,仍然是相同的错误。
rake rails:update:bin