2012-09-18 13 views
50

मैं बस का उपयोग करHeroku खुला - कोई एप्लिकेशन निर्दिष्ट

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> 

और यह: कुछ स्पष्ट

! App not found 

मुझे याद आ रही:

$ heroku open --app myapp 

मुझे देता है यह?

+0

अब आपको सीडर स्टैक निर्दिष्ट नहीं करना है, यह अब डिफ़ॉल्ट है –

+0

पहले कुछ उत्तरों के पीछे स्क्रॉल करना सुनिश्चित करें। [यह एक] (http://stackoverflow.com/a/24816347/199712) सबसे अच्छा है। –

उत्तर

118

आप Heroku पर किसी मौजूदा ऐप है और आप इस में कोई भी एप्लिकेशन निर्दिष्ट संदेश मिल रहे हैं, तो आप इसे अपने स्थानीय टर्मिनल पर इस चलाकर सही कर सकते हैं:

heroku git:remote -a MyHerokuAppName

+5

यह मेरा दिन बचाया। बस प्रारंभिक संदर्भ हटा दिया और इसे चलाया। धन्यवाद! – streetlight

+2

यह वही है जो मुझे चाहिए था। मैं एक गिट शाखा से ऑटो-तैनाती का उपयोग करता हूं। एक असंबंधित कारण के लिए मुझे एक नया रेपो बनाने की जरूरत थी। यह वही था जो मुझे ठीक करने के लिए जरूरी था। इसके अलावा, जब मैं एक अलग मशीन (वास्तव में क्लाउड 9 देव पर्यावरण) से उसकेोकू से बातचीत करना चाहता था, तो यह सरल आदेश मुझे कनेक्ट करने और उसकेोकू के साथ काम करने देता है। – Llewey

24

Heroku डिफ़ॉल्ट रूप से आपके निर्देशिका नाम के साथ ऐप्लिकेशन बनाने में नहीं है, इसलिए जब आप

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

कर यह शांत-संगीन-3229 ' नामित आवेदन पैदा कर रही है और अगर आप

heroku open --app calm-bayou-3229 
Opening http://calm-bayou-3229.herokuapp.com/ 
कर सकते हैं

आप हमेशा अपने ऐप्स को इसके साथ सूचीबद्ध कर सकते हैं:

heroku apps 
19

हलव के लिए एक और दृष्टिकोण इस मुद्दे को समझना है कि उसकेोकू ऐप से जुड़ी .git/config फ़ाइल क्या कर रही है और आवश्यक बदलाव कर रही है।

1. अपने हरोकू परियोजना की रूट से .git/config खोलें।

आपकी गिट कॉन्फ़िगरेशन फ़ाइल इस तरह कुछ दिखाई दे सकती है, खासकर यदि आप अपनी मशीन पर कुछ हुकोकू खाते जॉगलिंग कर रहे हैं।

[email protected]{heroku.account} के बजाय ~/.ssh/config फ़ाइल में कॉन्फ़िगरेशन के कारण दिखाता है। heroku-app-8396.git का संदर्भ आपके heroku प्रोजेक्ट नाम से मेल खाने के लिए अपडेट किया जाना चाहिए। आपके प्रत्येक प्रत्येकोकू खाते में ~/.ssh/config फ़ाइल में प्रवेश होना चाहिए। जाहिर है, उसके हेरोकू प्रोजेक्ट से जुड़े हेरोकू खाते को आपकी .git/config फ़ाइल में दिखाना चाहिए।

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

2. जब मैं git pull heroku master चलाता हूं, तो सभी अच्छी तरह से चलते हैं।

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

क्यों:

3. जब मैं heroku logs चलाने के लिए, मैं एक त्रुटि संदेश मिलता?

जहाँ तक मैं कह सकता हूं, heroku कमांड को यह नहीं पता कि {heroku.account} संदर्भों के साथ क्या करना है।

$ 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. 
: हम com करने के लिए उन संदर्भों को बदलने के लिए, heroku आदेशों एक बार फिर से काम करते हैं, लेकिन अब हमारे git कॉल कह रहे हैं (जो डिफ़ॉल्ट मान जब आप 'खाते' Heroku प्लगइन उपयोग नहीं कर रहे है) अगर वहाँ एक अलग समस्या है इस को हल करने

एक तरह से heroku के लिए git के लिए एक रिमोट और एक रिमोट परिभाषित करने के लिए और फिर heroku बताओ जो रिमोट का उपयोग करने के लिए है।

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

मैं स्पष्ट रूप से दूरदराज जब मैं एक दूरस्थ करने के लिए सामग्री धक्का कर रहा हूँ उल्लेख करना चाहते है, तो heroku दूरदराज के लिए है, भले ही इस विन्यास भी जोर दे रह सकते हैं/डिफ़ॉल्ट का उपयोग कर खींच (जैसे, git push)। मैं एक नया रिमोट 'heroku-app' बनाता हूं और को heroku को रिमोट का उपयोग करने के लिए जोड़ता हूं जिसमें यूआरआई में हेरोकू खाता शामिल नहीं है।

अब मैं अपना git और heroku आदेश चला सकता हूं जैसा कि मैं चाहता हूं।

+0

एक आकर्षण के रूप में काम किया :) बहुत बहुत धन्यवाद। – fsschmitt

+0

क्या आप अपने ~/.ssh/config का उदाहरण प्रदान कर सकते हैं? यह भी एक उदाहरण है कि आप उसकेोकू को कैसे दबाएंगे, उपयोगी होगा। मैंने आपके उदाहरण का पालन करने की कोशिश की लेकिन इस मुद्दे को हल करने में असमर्थ था। –

+0

धन्यवाद, महोदय! यह एक अद्भुत जवाब है! –

6

मैं एक ही मुद्दा है, सभी के लिए किया था मुझे परियोजना डीआईआर में मॉडल फ़ोल्डर से कमांड चलाने के बजाय प्रोजेक्ट डीआईआर करना था।

2

इस पागल बात मेरे लिए काम किया:

आप तो आप स्थानीय मशीन पर एप्लिकेशन की Git रेपो प्रतिलिपि है, तो उस स्थान पर cd और यह है कि !!

आप ऐप का उपयोग करने में सक्षम होंगे। आप इसे कमांड द्वारा सत्यापित कर सकते हैं जैसे: heroku logs -n 1500