安装 gem 时出现“Permission denied”错误

4

我正在尝试在Windows XP上安装rackamole:

S:\development\DevKit>gem install rackamole
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  While executing gem ... (Errno::EACCES)
    Permission denied - S:/development/Ruby/lib/ruby/gems/1.9.1/gems/rackamole-0.4.0/...

我已检查权限:
S:\development\DevKit>notepad S:\development\Ruby\lib\ruby\gems\1.9.1\gems\rackamole-0.4.0\some.txt

并且没有任何问题。

我如何安装gem?

3个回答

26

管理员 用户身份运行终端将解决此问题。


1
这应该是星号 :/ 对我来说工作正常,因为安装C扩展对我来说不是问题。 - Dan Bradbury
AAAK!! 你怎么做到的? - R Claven
在进行了干净的安装后,我一直无法安装任何Ruby gem。尝试以管理员身份运行,但对我来说并没有起作用。 - jzimmerman2011

2
我同意Vlad Lazarenko的评论。您无需将您的帐户添加到本地管理员组中,只需右键单击终端或命令提示符,然后选择“以管理员身份运行”,再尝试安装Rackamole即可。

1
在Windows上安装C扩展一直是一个棘手的问题,因为Windows没有自带编译器。大多数旨在用于Windows系统的gem都会发布一个带有特定平台字段的专门版本,其中会包含预编译的二进制文件。但rackamole不是这种情况,否则它就应该在这里可见。
另一种解决方案是使用使用新的FFI方法而非C扩展来与本地库进行交互的gem版本。我猜这在这里不是一个选项,因为rackamole(无论它是什么)可能只能使用C扩展。
曾经有一个Ruby发行版,包括自己的编译器和开发头文件,但我不记得它的名字,也不知道它是否仍在维护。
如果不强制使用Windows,则建议使用更适合开发者的操作系统,如UbuntuDebian,并结合使用rvm

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