我正在关注Michael Hartl的Ruby on Rails教程 http://ruby.railstutorial.org/
我安装了rails,ruby,所有必需的宝石,两天前配置了heroku和github。我今天回来了,没有任何工作。我使用的是Mac OS X 10.7.2(Lion)。它可能与我今天转而使用终端而不是Iterm的事实有关(所以我可以很容易地改变颜色)。现在,当我尝试Iterm时,也没有任何作用。
特别是现在的问题是它看起来无法找到rails,因为它给了我错误消息“Rails当前没有安装在这个系统上”,尽管它是这样的。现在我又开始安装rails了,但我担心它会再次发生并且安装rails需要一段时间。谢谢你的帮助。
我注意到的第一个问题是,当我尝试使用heroku重命名重新命名我的first_app时,我收到了错误
! Invalid path.
! Syntax is: git@heroku.com:<app>.git where <app> is your app's name.
尽管事实上它在两天前工作了。我假设丢失的rails并且无法使用heroku(我重新安装但仍然收到错误)与路径没有设置正确有关。我读了关于symilinks但是不知道如何形成它们或者在它们之间形成什么,因为在finder中我找不到rails。再次感谢。
刚收到错误
ERROR: Error installing rails:
actionpack requires rack (~> 1.3.5, runtime)
使用了sudo gem install rack,现在rails似乎安装好了,仍然想知道发生了什么......
Rails仍然不起作用:
$ rails
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:230:in `activate': can't activate rack (~> 1.3.5, runtime) for ["actionpack-3.1.3", "rails-3.1.3"], already activated rack-1.4.0 for ["rack-cache-1.1", "actionpack-3.1.3", "rails-3.1.3"] (Gem::LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:246:in `activate'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `each'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `activate'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:246:in `activate'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `each'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `activate'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:1056:in `gem'
from /usr/bin/rails:18
答案 0 :(得分:2)
我也遇到了同样的错误。
我相信它是因为机架宝石版本。
如果您提供命令 gem list rack
它显示所有机架gems版本,之后我卸载了所有机架版本并运行bundle命令。它解决了我的问题。
我相信它是因为如果你在Gemfile中指定一个机架版本,并且如果它与一个大于那个版本的版本有关,那么我的错误就会出现。
因此,请尝试卸载所有机架gems并运行bundle命令。
希望它可能会有所帮助。
答案 1 :(得分:0)
试试这个:
cd your_app_directory
bundle install
gem install heroku
git add remote heroku git@heroku.com:<YOUR_HEROKU_APP_NAME>.git
heroku status --app <YOUR_HEROKU_APP_NAME>
假设一切顺利,这应该会导致您重新连接到您的应用程序
答案 2 :(得分:0)
我认为我遇到了同样的问题。 就我而言,当我写“gem list rack”时,有:
机架1.4.0
机架1.3.6
...
它为我解决了: sudo gem卸架 - &GT;已删除1.4.0
现在它似乎有效。
答案 3 :(得分:0)
我是如何解决这个问题的,但是对于较新的版本,首先要卸载现有版本的Rack。
转到命令终端并输入
sudo gem uninstall rack
然后安装您需要提醒的Rack版本。在我的情况下,它是1.4.5
但在你的情况下,命令将是
sudo gem install rack -v 1.3.5
任何需要不同版本的人都可以访问以下网站获取更新的代码段
确保您在sudo
之后gem install
之前输入-v
以指示版本,然后根据您的需要指示所需版本(例如)1.3.5
。