質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
RubyGems

RubyGemsはRubyによるプログラミングのためのパッケージマネジメントツールです。ユーザはこれを使用することで、Rubyライブラリのダウンロードやアップデートや、依存関係の自動解決が可能になります。

Q&A

2回答

939閲覧

コマンド頭にsudoがつくのとつかないので何が違うか教えてください

sooryung

総合スコア22

RubyGems

RubyGemsはRubyによるプログラミングのためのパッケージマネジメントツールです。ユーザはこれを使用することで、Rubyライブラリのダウンロードやアップデートや、依存関係の自動解決が可能になります。

0グッド

0クリップ

投稿2018/10/25 07:05

$ gem list

では表示されるのに、

$ sudo gem list

では表示されないgemがあります。
なんででしょうか。

sudoなしのコマンドを打った時にはlistに載ってたgemが、
ブラウザで実行するとload error/can not load such fileと言われてなんでだろと思っていましたが、ここらへんにヒントがあるかと。。

sudoの意味をググりましたが、いまいちわかりません。

環境はcloud9です。

よろしくお願いします!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

sudo を理解したい場合は、まずLinuxのユーザー管理についてきちんと勉強しましょう。

root という最も強い権限をもつユーザーがいて、一時的に root ユーザーに成り代わってコマンドを実行する、というのが sudo コマンドの意味です。
https://eng-entrance.com/linux-root

gem list --help の中に以下の説明があります。

The list command is used to view the gems you have installed locally.

ローカルにインストールしたgemの一覧を表示します、とあります。
すなわち sudo を付けて実行した場合は root ユーザー視点でのgem一覧を表示しているため、 sudo を付けない場合とは結果が変わってしまいます。

投稿2018/10/25 08:02

mather

総合スコア6753

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

sudorootユーザー権限でコマンドを実行するコマンドです。

実行環境が異なるので、違うrubyを起動しているからでしょう。

Bash

1which ruby 2which gem 3sudo which ruby 4sudo which gem

を実行してみてください。異なるrubyであれば、gemsの格納される場所も別です。

投稿2018/10/25 13:05

otn

総合スコア84555

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問