web-dev-qa-db-ja.com

gemの実行中に、不明なコマンド

次のようなgemコマンドを入力するたびに

gem "tilt"

または

gem "mysql"

このエラーが発生します:

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

実行するとgem list、tiltとmysqlの両方がリストに表示されるため、インストールされます。実際、リストのすべてのアイテムでこのエラーが発生します。何が原因でしょうか?

12
nullnullnull

gemはあなたに嘘をついていません、それらは有効なgemコマンドではありません。

おそらく、コマンドラインをBundlerと混同しているのでしょうか。たとえば、

gem "tilt"

gemfileに移動し、bundle installを実行すると、tiltがインストールされます。ただし、Bundlerは独自の構文を使用しており、シェルスクリプトではありません。 gemバイナリを直接使用してtiltをインストールするには、次のことを行う必要があります。

gem install tilt

gem helpを実行すると、gemのコマンドライン引数のリストが表示されます。

25
Andrew Marshall

Gemfile構文を使用しており、コマンドライン構文を使用する必要があります。これを試してみてください:

gem install mysql2 -v 0.2.7
3
David Underwood

入力できるその他のガイドラインについて、構文が正しいことを確認してください

gem help

Rubyで受け入れられる構文を確認するには、

このエラーが発生した場合「/ Libraryの書き込み権限がありません」

いつでもSudoを追加して、特権を昇格させることができます。

例えば。 Sudo gem install <gemname>

コードの前にSudoを使用すると、管理者アクセスが可能になります(コンピューターのパスワードを入力した後)。

その後、gemをインストールするにはbundle installを実行する必要があるかもしれません。

0
BEF Meshesha