programing tip

heroku open-지정된 앱 없음

itbloger 2021. 1. 5. 07:48
반응형

heroku open-지정된 앱 없음


방금 사용하여 간단한 Rails 앱을 만들었습니다.

rails new myapp

그런 다음 다음을 사용하여 heroku 스택을 생성했습니다.

heroku create --stack cedar 

하지만 Heroku에서 다음을 사용하여 앱을 열려고 할 때 :

heroku open

나는 얻다:

 !    No app specified.
 !    Run this command from an app folder or specify which app to use with --app <app name>

이:

$ heroku open --app myapp

나에게 이것을 준다 :

 !    App not found

나는 명백한 것을 놓치고 있습니까?


Heroku에 기존 앱이 있고 앱 지정 없음 메시지가 표시되는 경우 로컬 터미널에서 다음을 실행하여 수정할 수 있습니다.

heroku git:remote -a MyHerokuAppName


Heroku는 기본적으로 디렉토리 이름으로 앱을 생성하지 않으므로

heroku create --stack cedar
Creating calm-bayou-3229... done, stack is cedar
http://calm-bayou-3229.herokuapp.com/ | git@heroku.com:calm-bayou-3229.git

'calm-bayou-3229'라는 이름의 응용 프로그램을 만들고 있습니다.

heroku open --app calm-bayou-3229
Opening http://calm-bayou-3229.herokuapp.com/

언제든지 다음을 사용하여 앱을 나열 할 수 있습니다.

heroku apps

문제를 해결하는 또 다른 접근 방식은 heroku 앱과 관련된 .git / config 파일이 수행하는 작업을 광범위하게 이해하고 필요한 조정을 수행하는 것입니다.

1. .git/configheroku 프로젝트의 루트에서 엽니 다.

git 구성 파일은 특히 컴퓨터에서 두 개의 heroku 계정을 저글링하는 경우 다음과 같이 보일 수 있습니다.

git@heroku.{heroku.account}대신 파일 git@heroku.com의 구성 때문에 표시 ~/.ssh/config됩니다. heroku-app-8396.githeroku 프로젝트 이름과 일치하도록에 대한 참조를 업데이트해야합니다. 보유한 각 heroku 계정에는 ~/.ssh/config파일에 항목이 있어야 합니다. 분명히이 heroku 프로젝트와 관련된 heroku 계정이 .git/config파일에 표시되어야 합니다.

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = false
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@heroku.heroku.account:heroku-app-8396.git
[remote "heroku"]
    fetch = +refs/heads/*:refs/remotes/heroku/*
    url = git@heroku.heroku.account:heroku-app-8396.git
[branch "master"]
    remote = origin
    merge = refs/heads/master
[heroku]
  account = heroku.account

2. 내가 뛰면 git pull heroku master모든 것이 잘 달린 것 같습니다.

3.를 실행 heroku logs하면 오류 메시지가 나타납니다.

$ heroku ps
!    No app specified.
!    Run this command from an app folder or specify which app to use with --app APP.

왜?

As far as I can tell, the heroku command doesn't seem to know what to do with the {heroku.account} references. If we change those references to com (which is the default value when you are not using the 'accounts' heroku plugin), the heroku commands work once again, but now our git calls are saying there is a different problem:

$ git pull heroku master

 !  Your key with fingerprint d6:1b:4c:48:8c:52:d4:d6:f8:32:aa:1a:e7:0e:a2:a1 is not authorized to access smooth-robot-8396.

fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

One way to resolve this is to define a remote for git and a remote for heroku and then tell heroku which remote to use.

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = false
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@heroku.heroku.account:heroku-app-8396.git
[remote "heroku"]
    fetch = +refs/heads/*:refs/remotes/heroku/*
    url = git@heroku.heroku.account:heroku-app-8396.git
[remote "heroku-app"]
    fetch = +refs/heads/*:refs/remotes/heroku/*
    url = git@heroku.com:heroku-app-8396.git
[branch "master"]
    remote = origin
    merge = refs/heads/master
[heroku]
    remote = heroku-app
    account = heroku.account

I like to explicitly specify the remote when I'm pushing content to a remote, so the heroku remote is for that, even though this configuration also accommodates pushing/pulling using the default (e.g., git push). I create a new remote 'heroku-app' and add remote = heroku-app to tell heroku to use a remote that doesn't include the heroku account in the URI.

Now I can run my git and heroku commands as I want to.


I had the same issue, All I had to do was cd to project dir instead of running commands from model folder in the project dir.


This crazy thing worked for me:

If you have the app's git repo copy on you local machine then cd to that location and that's it!!

You will be able to use the app. You can verify this by commands like: heroku logs -n 1500

ReferenceURL : https://stackoverflow.com/questions/12479668/heroku-open-no-app-specified

반응형