执行gem时,未知命令

时间:2012-06-02 15:29:18

标签: ruby rubygems gem

每当我输入gem命令时,例如

gem "tilt"

gem "mysql"

我收到此错误:

While executing gem ... <RuntimeError>
Unknown command tilt

当我运行gem list时,倾斜和mysql都显示在列表中,因此它们已安装。实际上,我在列表中的每个项目上都会出现此错误。可能导致这种情况的原因是什么?

3 个答案:

答案 0 :(得分:22)

gem不是骗你的,它们不是有效的gem命令。

也许你让命令行与Bundler混淆了?例如,添加

gem "tilt"

到Gemfile并运行bundle install将安装倾斜。但Bundler使用自己的语法,而不是shell脚本。要直接使用gem二进制文件安装倾斜,您必须执行以下操作:

gem install tilt

运行gem help将为您提供gem命令行参数的列表。

答案 1 :(得分:3)

您正在使用Gemfile语法,您应该使用命令行语法。试一试:

gem install mysql2 -v 0.2.7

答案 2 :(得分:1)

确保您的语法正确,以获得更多可以输入的指南

gem help

要查看ruby的可接受语法,

如果您收到此错误“您没有/ Library的写入权限”

您始终可以添加sudo来提升权限。

例如。 sudo gem install <gemname>

在代码之前使用sudo,这将为您提供管理访问权限(在您输入计算机密码后)。

之后,您可能需要运行bundle install来安装gem。