我两天前安装了导轨,它工作得很好,为什么突然失踪?

时间:2012-01-09 17:33:43

标签: ruby-on-rails heroku github

我正在关注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

4 个答案:

答案 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

enter image description here

但在你的情况下,命令将是

sudo gem install rack -v 1.3.5

任何需要不同版本的人都可以访问以下网站获取更新的代码段

all versions of rack

确保您在sudo之后gem install之前输入-v以指示版本,然后根据您的需要指示所需版本(例如)1.3.5