无法在Sublime文本2中安装包控件

时间:2012-09-05 14:50:19

标签: ubuntu packages sublimetext2

我正在使用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 个答案:

答案 0 :(得分:24)

只需打开终端并执行以下行:

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

并尝试再次安装包控件。

答案 1 :(得分:18)

最简单的方法就是使用sudo privalges运行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文本。

答案 2 :(得分:8)

我不相信chmod -R 777 - ing是这个问题的最佳解决方案。当然,它会让你安装软件包,但我不认为任何人都应该养成只要在写访问被拒绝的情况下打开权限闸门的习惯。在这种情况下,这真的不是什么大问题。我不认为你的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,这允许同一组中的其他用户写入该目录。

  3. 就像我之前说过的,如果系统上的任何用户都可以写入您的sublime-text packages文件夹,那么这不一定会成为问题。我本身并没有看到任何真正的问题,但是如果你不知道你的行为的后果,那么养成完全可写的东西的习惯可能会导致你的系统出现漏洞的错误。 / p>

    进一步参考:http://www.linux.com/learn/tutorials/309527-understanding-linux-file-permissions

答案 3 :(得分:1)

最简单的方法是使sublime-text文件夹可写:

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

或崇高文字3:

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

然后尝试再次安装包控件。

答案 4 :(得分:1)

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

答案 5 :(得分:0)

安装sublime文本后尝试: sudo /usr/bin/subl

这适用于Ubuntu 12.04上的崇高文本3