当我在cygwin中运行ruby -v
时,它会向我显示我在Windows中安装的ruby。仅供参考 - 我从未在我的cygwin安装中安装任何红宝石。
但是当我运行gem list
时,我收到错误:
/cygdrive/c/ruby/bin/gem:
C:/dev/ruby/bin/ruby.exe^M: bad interpreter: Permission denied
我用Google搜索并发现了很多这个问题。但没有人解释它的含义以及它为什么会发生。有人可以帮我解答这些问题并帮我解决这个问题吗?
非常感谢!
答案 0 :(得分:2)
在cygwin下,最好的办法是运行cygwin版本的ruby,使用cygwin安装工具进行安装。
你可以使用常规ruby,但是你会遇到这样的互操作性问题。
你在这里看到的是抱怨{" shebang"结尾处的^M
的shell。 gem
脚本的行(第一行告诉它要使用的解释器)。这个^M
是windows环境中的一个人工制品,其中所有行都以此字符结尾,以及unix单独使用的换行符。
您可以通过删除新行来解决此问题,例如在dos2unix
上使用gem
命令,但在您遇到进一步的问题之前不久...