Дељени директоријум се монтира, едитор отвара датотеку, а изградња ипак иде на лаптопу. Ништа не пријављује грешку, и баш то збуњује. Даљинска путања није даљински ланац алата, а едитор који може да чита датотеку кроз монтирање радо ће на њу позвати локални компајлер. Решење је преместити радни простор, а не само бајтове.

Монтирани директоријум није радни простор

Монтирање преко SSH-а или SMB-а даје вам путању. Да ли компајлер, систем изградње и дебагер долазе са даљинске стране зависи од тога где их едитор одлучи да покрене. Многа подешавања читају даљинске датотеке и компајлирају их локално, па се споткну на заглављу које постоји само на серверу.

Симптом је суптилан: изградња успе са делимичним резултатима или се сломи на include путањи која у едитору изгледа исправно.

Докажите који хост одговара

Повежите се правом даљинском сесијом уместо монтирањем, па покрените три наредбе само за читање у терминалу који та сесија даје. VS Code SSH водич документује да терминал у повезаном даљинском прозору ради на даљинском хосту и да иста сесија носи дебагирање. Затражите одобрење за даљинске компоненте ако их организација ограничава.

hostname именује машину на којој сте, pwd показује где радни простор заиста живи, а command -v c++ исписује компајлер који би љуска покренула. Сва три одговора треба да описују сервер, а не лаптоп.

Они не доказују да су верзија или конфигурација изградње исправне. Упоредите то са упутствима самог пројекта као засебан корак.

Пратите једну измену кроз изградњу и дебагирање

Направите малу измену у даљинском радном простору и сачувајте је тамо. Покрените документовану изградњу из истог директоријума и потврдите да излаз одражава вашу измену, а не старију копију негде другде. Затим покрените дебагер кроз исту даљинску сесију, са путањом до бинарне датотеке и радним директоријумом усмереним у стабло изградње сервера. Поклапање путања изворног кода је важно, јер дебагер који вашу измену приписује путањи на лаптопу дебагира другу датотеку.

Ако циљ дебагирања пријављује путање које почињу вашим локалним почетним директоријумом, конфигурација покретања још размишља локално.

Мрежне зависности остају на хосту

Дохватање пакета, git операција или покретање тестова на хосту изградње користи мрежу и акредитиве тог хоста, а не VPN сесију вашег лаптопа. То што лаптоп достигне приватно огледало пакета не говори ништа о томе може ли сервер. Ако изградњи треба регистар, серверу треба рута до њега, а то је разговор о заштитном зиду, не подешавање едитора.

Обрнуто исто важи за тест апликације. Долажење до услуге на серверу из вашег прегледача засебна је веза којој треба одобрена приватна путања или ограничено прослеђивање, а не отворен слушалац.

Прекините везу без губитка рада

Сачувајте и направите commit, или бар забележите радно стабло, пре него што веза падне. Даљинска сесија уређивања не обећава да ће изградња која траје или несачувани бафер преживети прекид мреже. За све што мора да надживи вашу сесију, користите ток послова или сесија који пројекат подржава.

Подела рада је тада јасна: лаптоп је интерфејс, сервер поседује радни простор и ланац алата, а VPN даје руту. Премештање датотека и премештање изградње две су одвојене одлуке.

Повезани чланци