Ruby 执行gem时,未知命令

Ruby 执行gem时,未知命令,ruby,rubygems,gem,Ruby,Rubygems,Gem,每当我输入gem命令时,例如 gem "tilt" 或 我得到这个错误: While executing gem ... <RuntimeError> Unknown command tilt 执行gem时。。。 未知命令倾斜 当我运行gemlist时,tilt和mysql都会显示在列表上,因此它们都已安装。事实上,列表中的每一项都会出现这个错误。这可能是什么原因造成的?gem没有骗你,它们不是有效的gem命令 也许你把命令行和Bundler搞混了?例如,添加 gem "til

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

gem "tilt"

我得到这个错误:

While executing gem ... <RuntimeError>
Unknown command tilt
执行gem时。。。
未知命令倾斜

当我运行
gemlist
时,tilt和mysql都会显示在列表上,因此它们都已安装。事实上,列表中的每一项都会出现这个错误。这可能是什么原因造成的?

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

也许你把命令行和Bundler搞混了?例如,添加

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

gem install tilt

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

您使用的是Gemfile语法,应该使用命令行语法。尝试一下:

gem install mysql2 -v 0.2.7

请确保您的语法正确,以便输入更多指导原则

gem帮助

要查看ruby可接受的语法

如果出现此错误“您没有/库的写入权限”

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

例如,
sudogem安装

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


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

我之所以这样问,是因为我试图使用命令将mysql设置为特定版本:gem'mysql2',0.2.7'。不幸的是,当我使用这个命令时,我得到了相同的错误。知道为什么吗?因为这不是我说的有效命令。如果您像我的问题一样阅读
gem
的帮助文档,以及那些特定于安装的
gem help install
的帮助文档,您将找到安装特定版本的正确参数:
gem install mysql2--0.2.7版
。感谢您的提示,Andrew。我从另一个stackoverflow页面获得了原始命令,但我不明白为什么它不能在我的系统上工作。我还是不知道,但你的命令确实有效。也许它与操作系统有关?不。正如我在回答中所解释的,您试图运行的是一个Bundler使用的Gemfile。请找出原因。命令“gem'mysql2'、'0.2.7'”用于文件Gemfile,而不是命令行。对于命令行,使用Andrew的建议:“gem安装mysql2——版本0.2.7”
gem install mysql2 -v 0.2.7