Ruby on rails Rails命令错误
我即将开始另一个web应用程序的工作,我将目录更改为 /rails\u项目 进入 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
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