web-dev-qa-db-fra.com

Impossible d'installer le contrôle de package dans Sublime text 2

J'utilise Ubuntu 12.04. J'ai fait ce qui est dit sur le site mais j'ai eu cette erreur:

import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); 
open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation'
Traceback (most recent call last):

File "<string>", line 1, in <module>
IOError: [Errno 13] Permiso denegado: u'/home/housepc/.config/sublime-text-2/Installed Packages/Package Control.sublime-package'

permiso denegado : "permission denied" 

Que pourrais-je faire pour l'installer?

17
1Engels

Ouvrez simplement le terminal et exécutez cette ligne:

Sudo chmod -R 777 "/home/{youruser}/.config/sublime-text-2/Installed Packages/"

et essayez d’installer le contrôle de paquet à nouveau.

24
SoldierCorp

La méthode la plus simple consiste simplement à exécuter du texte sublime avec des privilèges Sudo.

Je viens d'ouvrir un terminal avec ctrl+alt+t

assurez-vous que vous êtes le propriétaire du répertoire au lieu de root avec

Sudo chown -R {youruser}:{youruser}  "/home/{youruser}/.config/sublime-text-2"

Sudo sublime

Après cela, ouvrez la console de texte sublime avec ctrl+` et entrez

import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation'

Après l'installation initiale, vous pouvez exécuter le texte sublime normalement.

18
Goddard

Je ne crois pas que chmod -R 777- soit la meilleure solution à ce problème. Certes, cela vous permettra d’installer le paquet, mais je ne pense pas que quiconque devrait prendre l’habitude d’ouvrir simplement les autorisations lorsqu’un accès en écriture est refusé. Dans ce cas, ce n'est vraiment pas grave. Je ne pense pas que votre dossier de paquets sublime-text soit une priorité élevée, mais néanmoins, autoriser l'accès en écriture à tout le monde pourrait poser problème plus tard, surtout si l'utilisateur final est un nouveau * nix utilisateur et ne sait pas que pourquoi ils modifient les autorisations.

(Juste comme note: j'utilise sublime-text-3, mais cela ne devrait pas avoir d'importance car il s'agit d'un problème de permission et non d'un problème avec sublime-text lui-même)

Dans mon cas, j'ai eu deux problèmes.

  1. Sublime-Text a été installé dans le bon répertoire, mais appartient à root.

    La première solution évidente était de Sudo chown -R username:username /home/username/.config/sublime-text-3. Cela m'a rendu le contrôle du répertoire.

  2. Les autorisations sur mon installation étaient en quelque sorte définies sur quelque chose de bizarre. (À un moment donné, quelque chose que j'ai dû faire n'a pas été configuré correctement. Ce que cela aurait été ou quand je me suis échappé, mais je suis connu pour faire des choses idiotes alors que je n'avais pas dormi durant la dernière semaine)

    Pour résoudre ce problème est également simple. chmod -R 755 /home/username/.config/sublime-text-3/. Cela vous permet d'écrire dans le répertoire, mais ne permet pas à d'autres personnes qui ne devraient pas déjà être toutes prêtes d'être écrites d'y écrire. Sauf si vous souhaitez donner à tout le monde un accès en écriture à un répertoire, vous devez au maximum attribuer 775, ce qui permet aux autres utilisateurs du même groupe d'écrire dans ce répertoire.

Comme je l'ai dit précédemment, le problème ne se posera pas forcément si un utilisateur de votre système peut écrire dans votre dossier de paquets de sublime-text. Je ne vois pas de réel problème avec cela en soi, mais prendre l'habitude de rendre quelque chose entièrement en écriture pourrait donner lieu à une erreur qui exposerait votre système à des vulnérabilités si vous ne connaissiez pas les conséquences de vos actions.

Autres références: http://www.linux.com/learn/tutorials/309527-understanding-linux-file-permissions

8
Paul Nelson Baker

Le plus simple serait de rendre le dossier sublime en écriture:

Sudo chmod -R 777 "/home/{youruser}/.config/sublime-text-2/

ou pour le texte sublime 3:

Sudo chmod -R 777 "/home/{youruser}/.config/sublime-text-3/

Puis essayez à nouveau d'installer le contrôle de paquet.

1
TechyTimo

Vérifiez également que vous n'êtes pas sur un réseau proxy. Je n'ai pu installer Package Control qu'après avoir basculé sur un réseau non proxy.

1
Eleanor Zimmermann

Après avoir installé sublime text, essayez: Sudo /usr/bin/subl

Cela a fonctionné pour le texte sublime 3 sur Ubuntu 12.04

0
eloone