尝试执行任何以"rails"开头的命令会产生"找不到Gemfile"

Pau*_*ill 3 install ruby-on-rails rvm gemfile ruby-on-rails-3.2

我正在尝试安装新的rails应用程序.我已经在我的机器上安装了几个rails应用程序,一切正常.

$ rails new app
Could not locate Gemfile
Run Code Online (Sandbox Code Playgroud)

然后,我想我会运行跟踪来找出发生了什么事情,因为你不会期望有一个Gemfile在这一点上,无论如何,因为通常上面的命令将在名为目录中创建一个全新的Rails应用appGemfile载在该目录中.

$ rails new app --trace
Could not locate Gemfile
Run Code Online (Sandbox Code Playgroud)

因此,我尝试通过此详细指南重新安装计算机上的所有内容:

http://railsapps.github.com/installing-rails.html#gems

在前20个步骤之后,我得到了这个命令:

$ rake -v
Could not locate Gemfile
Run Code Online (Sandbox Code Playgroud)

我假设某些地方的设置已关闭,但我看不到任何关闭.

这是我的rvm设置:

$ rvm version

rvm 1.18.10 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

$ rvm list

rvm rubies

   jruby-1.6.7 [ x86_64 ]
   ruby-1.9.1-p431 [ i386 ]
   ruby-1.9.3-p194 [ x86_64 ]
   ruby-1.9.3-p286 [ x86_64 ]
   ruby-1.9.3-p327 [ x86_64 ]
=* ruby-1.9.3-p385 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

$ rvm gemset list

gemsets for ruby-1.9.3-p385 (found in /Users/paul/.rvm/gems/ruby-1.9.3-p385)
   (default)
   global
=> rails32
Run Code Online (Sandbox Code Playgroud)

这是我的rails32 gemset上安装的gem

$ gem list

*** LOCAL GEMS ***

actionmailer (3.2.12, 3.2.11)
actionpack (3.2.12, 3.2.11)
activemodel (3.2.12, 3.2.11)
activerecord (3.2.12, 3.2.11)
activeresource (3.2.12, 3.2.11)
activesupport (3.2.12, 3.2.11)
arel (3.0.2)
builder (3.0.4)
bundler (1.2.4)
erubis (2.7.0)
hike (1.2.1)
i18n (0.6.1)
journey (1.0.4)
json (1.7.7)
mail (2.4.4)
mime-types (1.21)
multi_json (1.6.1)
polyglot (0.3.3)
rack (1.4.5)
rack-cache (1.2)
rack-ssl (1.3.3)
rack-test (0.6.2)
rails (3.2.12, 3.2.11)
railties (3.2.12, 3.2.11)
rake (10.0.3)
rdoc (3.12.1)
rubygems-bundler (1.1.0)
rvm (1.11.3.6)
sprockets (2.2.2)
thor (0.17.0)
tilt (1.3.3)
treetop (1.4.12)
tzinfo (0.3.35)
Run Code Online (Sandbox Code Playgroud)

Bundler版本

$ bundle --version
Bundler version 1.2.4
Run Code Online (Sandbox Code Playgroud)

.gemrc文件

$ cat ~/.gemrc
---
:backtrace: false
:benchmark: false
:bulk_threshold: 1000
:sources:
- http://rubygems.org/
- https://rubygems.org
:update_sources: true
:verbose: true
Run Code Online (Sandbox Code Playgroud)

一切看起来都很好,非常沮丧,请帮忙.

mpa*_*pis 9

只有在当前目录中以前缀bundle execbundle install不带前缀的命令发生此错误Gemfile.

我的假设是你可能正在运行启用的命令bundler,检查:

which rake
Run Code Online (Sandbox Code Playgroud)

找出运行的命令.

  • 谢谢!我在.bash_profile中将'bundle exec rails'混淆为'rails',你的评论让你很容易弄明白发生了什么. (4认同)
  • 这也是我做的.对于那些只想为该shell会话覆盖别名的人,你可以这样做:alias rails ='rails'. (2认同)