在Windows系统中创建符号链接需要管理员特权。因此在安装Julia包的过程中,build经常会遇到如下错误:
On Windows, creating file symlinks requires Administrator privileges
最简单的解决方案是以管理员权限运行julia。但是这样不解决根本问题,因为我们并不知道哪些包会创建符号链接。
我更推荐如下做法:
1、按下Win+R,输入gpedit.msc
打开组策略编辑器,前往计算机配置>Windows 设置>安全设置>本地策略>用户权限分配
,双击创建符号链接
,点击添加用户或组
,点击对象类型
,确保组
已勾选,点击确定
,然后在下方文本框中输入Users
,点击确定
,将Users
用户组加入列表,然后点击确定
关闭窗口。
2、注销当前用户,重新登录(*)。
3、按下Win+R,输入cmd
打开普通权限的命令提示符,输入whoami /priv
,确认
当前令牌包含SeCreateSymbolicLinkPrivilege
特权(已禁用
状态不影响)。
现在,创建符号链接不需要管理权限了,可以直接安装Julia包。
解释:出于安全考虑,在Windows上创建符号链接默认需要管理员权限。在Windows Vista及以上系统中,出于安全考虑,管理员账户登录时(*)会得到两个安全令牌,一个是完全的管理员令牌,一个是拿掉了管理员特权的普通用户令牌。默认情况下用受限的令牌启动程序,而当获得UAC批准后才能使用完全令牌。我们只要允许Users组创建符号链接即可解决问题。