无法在Sublime Text 2中安装Package Control

17

我正在使用Ubuntu 12.04。我按照网站上的说明操作,但是出现了以下错误:

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" 

我该怎么安装它?

6个回答

24

只需打开终端并执行此行命令:

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

尝试再次安装包管理器。


1
难道使用chown命令来解决所有权限问题不比旧的777解决方案更加简洁吗? - zkent
是的,我认为是这样,但仍有许多用户使用chmod 777。两者的目的都是阻止/允许权限。 - SoldierCorp
1
在安装后续软件包时,用户可能需要对 /Packages/ 和 /Installed Packages/ 进行相同的操作,这对一些人来说可能很明显,但我花了30分钟的时间才最终弄清楚。 - JeanSibelius
正如mattsheperd所指出的那样,一些用户需要使用“sudo chmod -R 777“/home/{youruser}/.config/sublime-text-2/Packages/”命令。 请将其添加到您的答案中。 - Lulu
这不是一个很好的解决方案。正如评论所述,使用 chown 方法或将权限设置为 755 而不是 777 更好。此外,对 sublime-text-2 文件夹应用 chown 更好,因为它可以消除其他文件夹中写入访问相关的问题。基本上,@Goddard 的答案总体上更好。 - Gabriel Vasconcelos

19
最简单的方法就是使用sudo权限运行sublime文本编辑器。
我只需用ctrl+alt+t打开终端。
请确保您是目录的所有者,而不是root用户。
sudo chown -R {youruser}:{youruser}  "/home/{youruser}/.config/sublime-text-2"

sudo sublime

接下来,使用ctrl+`组合键打开sublime文本控制台,然后输入以下内容:

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'

在初始安装后,您可以正常运行Sublime文本编辑器。


问题在于,否则您将无法使用软件包控制,每次都需要以sudo特权运行sublime。 - Timothy
请检查您的软件包文件夹,并确保它具有正确的权限。 - Goddard
@TechyTimo,我成功地使用了这种方法,而且它不需要 sublime 以 sudo 运行。 - zkent
1
不,这对我有效。它需要使用运行权限再运行一次,之后一切都会没问题的。^ - BilalDja
就这么简单,sudo subl 只是以 root 身份运行 sublime text,然后运行的命令就在 root 的位置。谢谢。然后你可以 chown 和做所有的事情,但首先让我安装 package control! - WesternGun

8
我不认为chmod -R 777是解决这个问题的最佳方案。尽管这样可以让您安装软件包,但我认为任何人都不应该养成只要被拒绝写入权限就打开权限闸门的习惯。在这种情况下,这真的不是什么大问题。我不认为您的sublime-text软件包文件夹是一个高优先级的问题,但是让每个人都有写入权限的习惯可能会在以后引起问题,特别是如果最终用户是新的*nix用户并且不知道更改权限的原因。
(仅作为说明:我正在运行sublime-text-3,但这并不重要,因为这是一个权限问题,而不是sublime-text本身的问题)
在我的情况下,我有两个问题。
1. Sublime-Text安装到正确的目录,但是所有者是root。 第一个也是显而易见的解决方案是sudo chown -R username:username /home/username/.config/sublime-text-3。这将控制权交还给了我。
2. 我的安装权限不知何故被设置为奇怪的东西。(某些时候我一定做错了什么,设置了错误的权限。我不记得那是什么或什么时候发生的,但是我已经知道在期末考试期间睡眠不足时做了一些愚蠢的事情) 要解决这个问题也很简单。 chmod -R 755 /home/username/.config/sublime-text-3/。这允许您写入目录,但不允许其他不应该被允许写入的人。除非您有意要将每个人都赋予对目录的写访问权限,否则最多只能给出775,这允许同一组中的其他用户写入该目录。
像我之前说的那样,如果系统上的任何用户都可以写入您的sublime-text软件包文件夹,这并不一定会成为问题。我本身没有看到任何真正的问题,但是养成使某物完全可写的习惯可能会导致错误,如果您不知道自己的行为后果,则会打开系统的漏洞。
进一步参考:http://www.linux.com/learn/tutorials/309527-understanding-linux-file-permissions

1
我遇到了第一个问题。 - Jack

1

另外,请检查您是否在代理网络上。只有在切换到非代理网络后,我才能成功安装Package Control。


1
最简单的方法是使sublime-text文件夹可写:
sudo chmod -R 777 "/home/{youruser}/.config/sublime-text-2/

或者对于Sublime Text 3:

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

然后再尝试安装包控制器。

0
安装Sublime Text后,请尝试以下操作: sudo /usr/bin/subl 这适用于Ubuntu 12.04上的Sublime Text 3。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接