Heroku登录错误。 “没有这样的文件或目录(LoadError)”

时间:2013-11-09 14:21:08

标签: ruby-on-rails ruby windows git heroku

我是Ruby,Git和Heroku的新手,我正试图在我的Window 7机器上安装所有东西。通过编辑一对heroku文件以包含rest-client gem,可以轻松修复第一个错误,但现在我收到此错误,我无法使用“google it”方法解决这个问题:

C:\rails\first_app>heroku login
DL is deprecated, please use Fiddle
Enter your Heroku credentials.
Email: foo
Password (typing will be hidden): C:/ruby/lib/ruby/2.0.0/Win32API.rb:14:in `init
ialize': No such file or directory (LoadError)
        from C:/ruby/lib/ruby/2.0.0/Win32API.rb:14:in `dlopen'
        from C:/ruby/lib/ruby/2.0.0/Win32API.rb:14:in `initialize'
        from C:/ruby/lib/ruby/gems/2.0.0/gems/heroku-3.0.1/lib/heroku/auth.rb:19
7:in `new'
        from C:/ruby/lib/ruby/gems/2.0.0/gems/heroku-3.0.1/lib/heroku/auth.rb:19
7:in `ask_for_password_on_windows'
        from C:/ruby/lib/ruby/gems/2.0.0/gems/heroku-3.0.1/lib/heroku/auth.rb:18
7:in `ask_for_credentials'
        from C:/ruby/lib/ruby/gems/2.0.0/gems/heroku-3.0.1/lib/heroku/auth.rb:22
1:in `ask_for_and_save_credentials'
        from C:/ruby/lib/ruby/gems/2.0.0/gems/heroku-3.0.1/lib/heroku/auth.rb:84
:in `get_credentials'
        from C:/ruby/lib/ruby/gems/2.0.0/gems/heroku-3.0.1/lib/heroku/auth.rb:41
:in `login'
        from C:/ruby/lib/ruby/gems/2.0.0/gems/heroku-3.0.1/lib/heroku/command/au
th.rb:31:in `login'
        from C:/ruby/lib/ruby/gems/2.0.0/gems/heroku-3.0.1/lib/heroku/command.rb
:213:in `run'
        from C:/ruby/lib/ruby/gems/2.0.0/gems/heroku-3.0.1/lib/heroku/cli.rb:28:
in `start'
        from C:/ruby/lib/ruby/gems/2.0.0/gems/heroku-3.0.1/bin/heroku:17:in `<to
p (required)>'
        from C:/ruby/bin/heroku:23:in `load'
        from C:/ruby/bin/heroku:23:in `<main>'

非常感谢任何帮助。

编辑:

它是64位版本的ruby 2.0.0。

嗯,我想我必须安装32位版本才能解决这个问题。谢谢你的链接。

1 个答案:

答案 0 :(得分:1)

可能是因为你正在运行Ruby 2.我遇到了同样的问题。

我从这里复制粘贴我的答案:Heroku Login failed using Windows CLI

从安装目录外部使用“heroku login”命令时遇到了同样的问题,因为它使用了@kdmcclin解释的Ruby 2.1安装。

C:\>heroku login
DL is deprecated, please use Fiddle
Enter your Heroku credentials.
Email: xxxxx@xxxxxxx.net
Password (typing will be hidden): C:/Ruby21-x64/lib/ruby/2.1.0/Win32API.rb:14:in `initialize': No such file or directory (LoadError)
    from C:/Ruby21-x64/lib/ruby/2.1.0/Win32API.rb:14:in `dlopen'
    from C:/Ruby21-x64/lib/ruby/2.1.0/Win32API.rb:14:in `initialize'
    ...

但是如果你先安装dir然后再安装“bin”,那么命令工作正常:

C:\Program Files (x86)\Heroku\bin>heroku login
Enter your Heroku credentials.
Email: xxxxx@xxxxxxx.net
Password (typing will be hidden):
Authentication successful.

但是,我们必须从我们的项目目录运行命令。所以我所做的是更改PATH系统变量,以便在Ruby2.1之前拥有Heroku / bin路径。

旧路径:

C:\Ruby21-x64\bin;C:\Program Files (x86)\Heroku\bin;[...Otherstuff...];C:\Program Files (x86)\Git\bin\;C:\Program Files (x86)\git\cmd

新路径:

C:\Program Files (x86)\Heroku\bin;C:\Ruby21-x64\bin;[...Otherstuff...];C:\Program Files (x86)\Git\bin\;C:\Program Files (x86)\git\cmd

现在它正在运作:

C:\ProjectDir>heroku login
Enter your Heroku credentials.
Email: xxxxx@xxxxxxx.net
Password (typing will be hidden):
Authentication successful.