Ubuntu Can';t在升华文本2中安装程序包控件

Ubuntu Can';t在升华文本2中安装程序包控件,ubuntu,packages,sublimetext2,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.ProxyHand

我正在使用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" 
导入urllib2,操作系统;pf='Package Control.sublime Package';ipp=sublime.installed_packages_path();os.makedirs(ipp)如果不存在os.path.exists(ipp),则为os.makedirs(ipp),否则为None;urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler());
open(os.path.join(ipp,pf),'wb')。write(urllib2.urlopen('wb'))http://sublime.wbond.net/'+pf.replace('''%20')).read();打印“请重新启动升华文本以完成安装”
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
IOError:[Errno 13]Permiso denegado:u'/home/housepc/.config/sublime-text-2/Installed Packages/Package Control.sublime Package'
permiso denegado:“拒绝许可”

如何安装它?

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

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

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

最简单的方法就是使用sudo privalges运行sublime text

我只是用ctrl+alt+t弹出打开一个终端

确保您是目录的所有者,而不是具有

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'

初始安装后,您可以正常运行升华文本。

最简单的方法是使升华文本文件夹可写:

sudo chmod -R 777 "/home/{youruser}/.config/sublime-text-2/
或者对于升华文本3:

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

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

我不认为
chmod-R 777
-ing是解决此问题的最佳方案。当然,它可以让你安装软件包,但我认为任何人都不应该养成在写访问被拒绝时打开权限闸门的习惯。在这种情况下,这真的没什么大不了的。我不认为你的sublime text packages文件夹是一个高优先级的文件夹,但不管怎样,进入允许每个人都有写访问权限的习惯可能会导致以后的问题,特别是当最终用户是一个新的*nix用户并且不知道他们为什么要更改权限时

(请注意:我正在运行sublime-text-3,但这并不重要,因为这是一个权限问题,而不是sublime文本本身的问题)

就我而言,我有两个问题

  • 升华文本已安装到正确的目录,但归root所有。

    第一个明显的解决方案是
    sudo chown-R用户名:username/home/username/.config/Sublime-Text-3
    。这将目录的控制权返回给了我

  • 我的安装权限设置得有些不可靠。(在某些情况下,我一定是做了一些不正确的设置。那会是什么,或者什么时候我忘记了,但大家都知道我在期末考试期间睡眠不足时会做一些愚蠢的事情)

    解决这个问题也很简单
    chmod-R 755/home/username/.config/sublime-text-3/
    。允许您写入目录,但不允许其他尚未准备就绪的人写入目录。除非您有意为每个人提供对目录的写访问权限,否则您最多应该提供
    775
    ,它允许同一组中的其他用户写入该目录

  • 正如我之前所说的,如果系统中的任何用户都可以写入sublime text packages文件夹,那么这不一定会成为问题。我看不出它本身有什么真正的问题,但是养成让某些东西完全可写的习惯可能会导致一个错误,如果您不知道您的操作的后果,那么您的系统将面临漏洞


    进一步参考:

    安装升华文本后,请尝试:
    sudo/usr/bin/subl


    这对Ubuntu12.04上的sublime text 3有效。另外,请检查您是否在代理网络上。我只能在切换到非代理网络后安装Package Control。

    问题是,每次都需要使用sudo Privileges运行sublime,否则无法将其与Package Control一起使用检查您的Package文件夹并确保其具有正确的配置permissions@TechyTimo,我成功地使用了这个方法,并且它不需要Sumdo来运行。它需要以运行权限再次运行,然后一切都会好起来^简单地说,
    sudo subl
    只是以root用户身份运行sublime文本,然后以root用户身份运行命令。谢谢然后你可以
    chown
    和所有的东西,但是首先,让我安装包控制!对于所有权限问题,chown的答案不是比旧的777解决方案更干净吗?是的,我认为是这样,但许多用户仍然使用chmod 777。两者的目的都是阻止/允许权限。在安装后续软件包时,用户可能必须对/packages/以及/Installed packages/执行相同的操作,这对某些人来说可能是显而易见的,但在我最终找到答案之前,我经历了30分钟的挫折。@SoldierCorp正如mattsheperd所指出的,一些用户将需要使用“sudo chmod-R 777”/home/{youruser}/.config/sublime-text-2/Packages/“。请将其添加到您的答案中。这不是一个很好的解决方案。如前所述,
    chown
    方法更好,或者将权限设置为755而不是777。另外,将
    chown
    应用到
    sublime-text-2
    文件夹会更好,因为它可以消除与其中其他文件夹中的写入访问相关的问题。基本上,@Goddard的答案总体上更好。我遇到了第一个问题