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

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

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

rbenvは、Rubyバージョン管理ツール。プロジェクトごとでRubyバージョンを切り替えることが可能です。RVMよりもシンプルで、少ない機能で動作します。本体にはRubyのビルド機能は備わっておらず、ruby-buildというツールを用いる必要があります。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

2回答

908閲覧

rbenv localで「許可がありません」と言われる理由は

pyon_kiti_jp

総合スコア251

rbenv

rbenvは、Rubyバージョン管理ツール。プロジェクトごとでRubyバージョンを切り替えることが可能です。RVMよりもシンプルで、少ない機能で動作します。本体にはRubyのビルド機能は備わっておらず、ruby-buildというツールを用いる必要があります。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

1グッド

1クリップ

投稿2023/04/07 01:45

環境

Ubuntu20.4

質問内容

rbenvを使って、Rubyのバージョン管理をしています。

Rubyのバージョンを変更しようとしたのですが、「許可がありません」と表示されます。これを解決させたいのですが、どのようにすればいいか教えていただけませんでしょうか。

local環境(つまり、ホームの配下)で、下記のコマンドをうつと、 許可がありませんと言われて、local環境で、2.5.0のバージョンが指定できません。

$rbenv local 2.5.0 usr/local/rbenv/libexec/rbenv-version-file-write: 行 19: .ruby-version: 許可がありません

rbenv-version-file-writeのパーミッションが原因なのだろうと、察しはつきます。

ls -lをすると、下記のようになっています。home/aaaにカーソルを移動して、rbenv localをうつと、問題なく動作します。しかし、aaa以外のユーザー配下、例えば、home/bbbなどにカーソルを移動して、rbenv localをうつと、許可がありませんといわれます。

$ ls -l /usr/local/rbenv/libexec -rwxrwsr-x 1 root aaa 447 7月 4 2013 rbenv-version-file-write

どのようにすれば解決するものでしょか。

shinoharat👍を押しています

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

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

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

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

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

maisumakun

2023/04/07 01:50

> しかし、aaa以外のユーザー配下、例えば、home/bbbなどにカーソルを移動して、rbenv localをうつと、許可がありませんといわれます。 他のユーザーの環境を勝手に変えていいものなのでしょうか?
m.ts10806

2023/04/07 02:08

sudoで実行してみては
pyon_kiti_jp

2023/04/07 04:11

sudoをつけても実行できないようです >sudo rbenv local 2.5.0 sudo: rbenv: コマンドが見つかりません
pyon_kiti_jp

2023/04/07 04:13

>他のユーザーの環境を勝手に変えていいものなのでしょうか? はい、複数人で共通で使っているユーザーなので、大丈夫です。 bbbのユーザーでログインすればいいのかも分かりません。
CHERRY

2023/04/07 04:31

他ユーザーの所有するファイルは更新権限がないというメッセージですね。 > はい、複数人で共通で使っているユーザーなので、大丈夫です。 > bbbのユーザーでログインすればいいのかも分かりません。 という状況であれば、 ユーザー bbb でログインして変更するのが良いのではないでしょうか。
pyon_kiti_jp

2023/04/07 07:39

>ユーザー bbb でログインして変更するのが良いのではないでしょうか。 確かにそうなのですが、bbbでログインすると、bbbユーザーは、sudoが使えるようになっていないという、また、別の問題に遭遇することになります。 面倒な奴ですいません。
otn

2023/04/07 12:15 編集

> 別の問題に遭遇することになります。 その問題を解決するのが正解です。 正しい解決をせずに、その場しのぎの方法で回避していると、環境はどんどん壊れていきます。
otn

2023/04/07 10:21

> rbenv-version-file-writeのパーミッションが原因なのだろうと、察しはつきます。 間違ってます。 それはrbenvコマンドから起動されるスクリプトファイルです。そのスクリプトファイルの19行目でエラーになったという意味です。 .ruby-version のパーミッションが原因です。 rbenv local ~~~ と言うのは、カレントディレクトリーの .ruby-version という名前のファイルを作成or更新するコマンドであると言うことを理解していますか?
pyon_kiti_jp

2023/04/07 11:38

ご丁寧にありがとうございます。
guest

回答2

0

自己解決

結局、解決に至らなかったため、クローズとします。

投稿2023/04/10 06:58

pyon_kiti_jp

総合スコア251

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

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

0

以下の手順をお試しください。

### 1・bbb のホームディレクトリのグループを確認 $ ls -l /home ### 2・ログイン中のユーザを bbb と同じグループに追加する("bbb_group" は手順1で調べた名前) $ sudo usermod -a -G bbb_group aaa ### 3・グループ単位での書き込み権限を付与する $ sudo chmod g+w /home/bbb

投稿2023/04/07 07:24

shinoharat

総合スコア1676

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

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

pyon_kiti_jp

2023/04/07 11:40

ご回答ありがとうございます。 折角ではありましたが、この方法でもうまくいきませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問