Ujistěte se, že jste (jako uživatelský účet Ubuntu) vlastníkem složky a souborů, které upravujete ve VSCode:
cd /path/to/my/files
chown -R $USER:$USER .
Poznámka:Nejste-li tímto uživatelem, možná tomu bude třeba předcházet sudo
:
sudo chown -R $USER:$USER .
(Poznámka:tečka z vás dělá vlastníka souborů v nadřazeném adresáři)
Toto je běžný problém. Nechcete měnit vlastníka:skupinu vašich souborů a nechcete z bezpečnostních důvodů spouštět VSCode jako root. Zde je moje řešení s trochou informací na pozadí. Na typickém webovém serveru budou webové soubory například vlastník:skupina www-data:www-data – pouze vlastník (www-data) má oprávnění k zápisu. VSCode běží pod účtem $USER, nikoli www-data, takže nemá oprávnění k zápisu. Nemůžete změnit VSCode tak, aby běžel jako www-data (to není snadné), takže alternativou je přidat $USER do skupiny www-data a udělit složkám oprávnění k zápisu pro skupinu. To je jen o něco méně bezpečné než skupina, která má pouze oprávnění ke čtení – přijatelné podle mého názoru na vývojovém počítači. Přidejte se do skupiny www-data:
sudo usermod -aG www-data $USER
Toto se neprojeví okamžitě, musíte se sami sobě odeslat, odhlásit se a znovu se přihlásit
su $USER
Zkontrolujte, zda jste ve skupině www-data
id
Odhlásit se a znovu se přihlásit. Dále změňte oprávnění na /var/www/html (nebo kdekoli, kam se pokoušíte zapisovat):
sudo chmod -R ug+rw /var/www/html
sudo chown -R www-data:www-data /var/www/html
Restartujte VSCode a váš uživatel by nyní měl mít oprávnění k zápisu do složky. Pokud z nějakého důvodu omylem změníte oprávnění k adresáři, můžete je obnovit pomocí:
sudo find /var/www/html -type d -execdir chmod 750 {} +
sudo chmod -R 777 filename
funguje pro nadřazenou složku souboru.