我正在尝试按照其网站上的说明构建和安装libYAML> http://pyyaml.org/wiki/LibYAML
我收到以下错误“无法创建目录'/ usr / local / include':权限被拒绝。”见下文:
P.S。我是以管理员身份运行的。
JetBlue@JetBlue-Laptop ~/yaml-0.1.4
$ make install
Making install in include
make[1]: Entering directory `/home/JetBlue/yaml-0.1.4/include'
make[2]: Entering directory `/home/JetBlue/yaml-0.1.4/include'
make[2]: Nothing to be done for `install-exec-am'.
test -z "/usr/local/include" || /usr/bin/mkdir -p "/usr/local/include"
/usr/bin/mkdir: cannot create directory `/usr/local/include': Permission denied
Makefile:235: recipe for target `install-nobase_includeHEADERS' failed
make[2]: *** [install-nobase_includeHEADERS] Error 1
make[2]: Leaving directory `/home/JetBlue/yaml-0.1.4/include'
Makefile:356: recipe for target `install-am' failed
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/home/JetBlue/yaml-0.1.4/include'
Makefile:343: recipe for target `install-recursive' failed
make: *** [install-recursive] Error 1
如何解决此“权限被拒绝”错误?
感谢您的时间。
更新 - >溶液
似乎要绕过此“权限被拒绝”错误,您不仅需要成为管理员,还需要最初安装Cygwin的管理员。 (他们是唯一可以在Cygwin的/ usr / local /目录中自由编辑文件的人。)
因此我的问题。虽然我是管理员,但我仍然没有该目录的编辑权限。
所以...我现在只是使用该帐户来开发-_-(目前开始玩sudos等工作太多了。)
P.S。我不确定这是否是Yaakov所说的......
答案 0 :(得分:1)
检查/ usr / local上的权限,或者使用另一个具有写权限的--prefix重新编译。
但是你应该知道这个库已经在Cygwin发行版中提供了;安装libyaml-devel及其依赖项以使用它。
答案 1 :(得分:0)
如果您使用“for all users”选项安装CygWin,那么/ usr / local将是一个系统文件夹。因此普通用户不能简单地写入(通过Id SKU QtyRec QtyDispatch
1 001A 5 0
2 001B 5 0
3 001C 10 0
4 001A 8 0
5 001G 5 0
6 001A 6 0
7 001F 5 0
8 001A 25 0
9 001A 9 0
)。
解决方案:
将一个cycgwin shell作为普通用户。 你在那里
./配置
请
PWD
以管理员身份启动另一个cygwin shell(点击图标)。
在那里你make install
进入你调用make的文件夹(参见它的cd
命令的输出)。
make install
这将具有写入/ usr / local的管理员权限。
当然,您也可以使用
将安装目标重定向到普通用户的位置./ configure --prefix = users_own_cygwin_installation_destination_folder
(但后者对于cygwin初学者几乎总是一个坏主意 - 如果你知道自己在做什么,你应该这样做,尤其是采用你的环境/ PATH设置)