最近、HerokuのプロジェクトでRuby on Railsを使用して)共同作業を開始しました。私は共同作業者として追加され、リモートを環境に追加しました。開発後、いくつかの変更をプッシュしましたが、問題はありませんでした:
$ git Push staging
ステージングは私のリモコンの名前です。その後、Herokuで「レイクテスト」を実行しようとすると、エラーが発生しました。
$heroku run rake test --app staging
Running `rake test` attached to terminal... failed
! You do not have access to the app staging.
自分の変更を完全にプッシュすることができたので、これは奇妙です。 Herokuダッシュボードを確認したところ、私のPushがそこに記録されていることがわかりました。次に、コンソールを使用してログを表示しようとすると、同じ問題が発生しました。
$ heroku logs --app staging
! You do not have access to the app staging.
最後に、コンソールにアクセスしようとしましたが、失敗しました。
$ heroku run Rails console --app staging
Running `Rails console` attached to terminal... failed
! You do not have access to the app staging.
この時点で、Heroku toolbeltインストールを更新し、「heroku auth」を使用してメールが表示されていることを確認しましたが、エラーは解決しません。現在、Herokuのサポートに連絡していますが、同様の問題を抱えている誰かが私を助けてくれることを期待しています。
ありがとう!
したがって、誰かが同様の問題を抱えている場合に備えて、これはHerokuアプリの名前とgitリモートの名前を混在させているために発生します。つまり、-app staging(私のリモートの名前)を呼び出しているときは、Herokuにあるように、アプリの実際の名前を使用しているはずです。
必ず実行してくださいheroku login
Heroku toolbeltコマンドを初めて使用する前。これまでにサインインしたことがないということはわかりません。
これは、heroku gitリモートリポジトリを追加していない場合にも発生します。
次のコマンドで追加できます。
git remote add heroku https://git.heroku.com/<your project>.git
入力することもできます
heroku git:remote -a AppName
これは、sshキーがアクセスを許可されなくなったために発生しました。 sshキーが同じであることを確認してください。 sshキーを生成して、これをherokuに追加することもできます。
以下も実行できます:
heroku run rake test --remote staging
内部で何が起こるかはわかりませんが、ローカルでCLIツールはgitリモートに基づいてどのアプリを意味するかを判断します。