წილი მონტაჟდება, რედაქტორი ხსნის ფაილს და აწყობა მაინც ლეპტოპზე მიმდინარეობს. შეცდომა არ ჩანს და ესეც არეულობს. დისტანციური ბილიკი არ არის დისტანციური ხელსაწყოების ჯაჭვი, და რედაქტორი, რომელსაც მონტაჟის გავლით ფაილის წაკითხვა შეუძლია, სიამოვნებით გამოიძახებს ადგილობრივ კომპილატორს მასზე. გადაწყვეტა სამუშაო სივრცის გადატანაა და არა მხოლოდ ბაიტების.

მონტირებული დირექტორია არ არის სამუშაო სივრცე

SSH ან SMB-ით მონტაჟი გაძლევთ ბილიკს. მოდიან თუ არა კომპილატორი, აწყობის სისტემა და გამმართველი დისტანციური მხრიდან, დამოკიდებულია იმაზე, სად გადაწყვეტს რედაქტორი მათ გაშვებას. ბევრი კონფიგურაცია კითხულობს დისტანციურ ფაილებს და ადგილობრივად აკომპილირებს მათ, შემდეგ კი ვარდება სათაურ ფაილზე, რომელიც მხოლოდ სერვერზე არსებობს.

სიმპტომი დახვეწილია: აწყობა წარმატდება ნაწილობრივი შედეგებით, ან იშლება include-ბილიკზე, რომელიც რედაქტორში სწორად გამოიყურება.

დაამტკიცეთ, რომელი ჰოსტი პასუხობს

დაუკავშირდით ნამდვილი დისტანციური სესიით და არა მონტაჟით, შემდეგ კი ამ სესიის ტერმინალში გაუშვით სამი მხოლოდ-წაკითხვის ბრძანება. SSH გზამკვლევი VS Code-ში ადასტურებს, რომ დაკავშირებული დისტანციური ფანჯრის ტერმინალი დისტანციურ ჰოსტზე მუშაობს და იგივე სესია ატარებს გამართვას. ჯერ მიიღეთ დისტანციური კომპონენტების ნებართვა, თუ ორგანიზაცია მათ ზღუდავს.

hostname ასახელებს მანქანას, რომელზეც ხართ, pwd გვიჩვენებს, სად არის სამუშაო სივრცე სინამდვილეში, ხოლო command -v c++ ბეჭდავს კომპილატორს, რომელსაც shell გაუშვებდა. სამივე პასუხმა სერვერი უნდა აღწეროს და არა ლეპტოპი.

ისინი არ ამტკიცებენ, რომ ვერსია ან აწყობის კონფიგურაცია სწორია. შეადარეთ ეს თავად პროექტის მითითებებს ცალკე ნაბიჯად.

მიჰყევით ერთ ცვლილებას აწყობისა და გამართვის გავლით

გააკეთეთ პატარა ცვლილება დისტანციურ სამუშაო სივრცეში და შეინახეთ იქ. გაუშვით დოკუმენტირებული აწყობა იმავე დირექტორიიდან და დაადასტურეთ, რომ გამომავალი თქვენს ცვლილებას ასახავს და არა სადღაც სხვაგან არსებულ ძველ ასლს. შემდეგ გაუშვით გამმართველი იმავე დისტანციური სესიით, ბინარული ფაილის ბილიკითა და სამუშაო დირექტორიით სერვერის აწყობის ხისკენ. წყაროს ბილიკების დამთხვევა მნიშვნელოვანია, რადგან გამმართველი, რომელიც თქვენს ცვლილებას ლეპტოპის ბილიკზე ამუშავებს, სხვა ფაილს უშვებს.

თუ გამართვის სამიზნე აცხადებს ბილიკებს, რომლებიც თქვენი ადგილობრივი სახლის დირექტორიით იწყება, გაშვების კონფიგურაცია ჯერ კიდევ ადგილობრივად ფიქრობს.

ქსელური დამოკიდებულებები ჰოსტთან რჩება

აწყობის ჰოსტზე დაწყებული პაკეტის ჩამოტვირთვა, git ოპერაცია ან ტესტის გაშვება იყენებს იმ ჰოსტის ქსელსა და სერტიფიკატებს და არა თქვენი ლეპტოპის VPN სესიას. ის, რომ ლეპტოპი კერძო პაკეტების სარკეს აღწევს, არაფერს ამბობს იმაზე, შეუძლია თუ არა სერვერს. თუ აწყობას რეესტრი სჭირდება, სერვერს მისკენ ბილიკი სჭირდება და ეს ქსელური დაცვის საუბარია და არა რედაქტორის პარამეტრი.

იგივე საპირისპიროდ ტესტურ აპლიკაციებზეა მართალი. სერვერზე არსებულ სერვისამდე ბრაუზერიდან მისვლა ცალკე კავშირია, რომელსაც დამტკიცებული კერძო ბილიკი ან შეზღუდული გადამისამართება სჭირდება და არა ღია მსმენელი.

გათიშეთ სამუშაოს დაკარგვის გარეშე

შეინახეთ და commit გააკეთეთ, ან სულ მცირე ჩაწერეთ სამუშაო ხე, სანამ კავშირი ჩამოვარდება. დისტანციური რედაქტირების სესია არ გპირდებათ, რომ მიმდინარე აწყობა ან შეუნახავი ბუფერი გადაიტანს ქსელის შეწყვეტას. ყველაფრისთვის, რაც თქვენს სესიაზე მეტხანს უნდა იცოცხლოს, გამოიყენეთ პროექტის მხარდაჭერილი სამუშაოს ან სესიის ნაკადი.

შრომის დანაწილება მაშინ ნათელია: ლეპტოპი ინტერფეისია, სერვერი ფლობს სამუშაო სივრცესა და ხელსაწყოების ჯაჭვს, ხოლო VPN უზრუნველყოფს ბილიკს. ფაილების გადატანა და აწყობის გადატანა ორი ცალკე გადაწყვეტილებაა.

დაკავშირებული სტატიები