我正在尝试从 ruby 脚本运行 gcc,它给了我一个错误,提示权限被拒绝。 从命令行直接运行它时它工作正常,这让我不知道为什么它不能从 ruby 运行。 我可以从 Ruby 中调用其他命令,例如“ls”。
我还尝试将 gcc 的文件权限设置为 777 以及让我的用户帐户成为该文件的所有者。
这是我的 shell 输出:
Administrator@dominicgraec8aa ~
$ gcc
gcc: no input files
Administrator@dominicgraec8aa ~
$ irb
irb(main):001:0> `gcc`
Errno::EACCES: Permission denied - gcc
from (irb):1:in ``'
from (irb):1
irb(main):002:0> `ls`
=> ""
我希望有人对此有想法。
最佳答案
根据我的经验,在 Windows 上的 Ruby 中使用什么路径分隔符并不重要,因为它们都应该可以工作(并且它们都可以在命令行上工作)。当使用两种不同的环境( native Windows 和 Cygwin)时,最好确保您知道您正在运行哪个版本,因为它们不一定相互兼容。
我在运行 native Windows 版本的 Ruby 工具链时没有遇到任何问题,甚至也使用 Pik(如 Windows 的 RVM),而且我发现它比管理两个环境要简单得多。
关于Cygwin 上的 Ruby - 权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4937581/