每当我输入gem命令时,例如
gem "tilt"
或
gem "mysql"
我收到此错误:
While executing gem ... <RuntimeError>
Unknown command tilt
当我运行gem list
时,倾斜和mysql都显示在列表中,因此它们已安装。实际上,我在列表中的每个项目上都会出现此错误。可能导致这种情况的原因是什么?
答案 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。