【落とし穴】権限って大事だよね…。

【落とし穴】権限って大事だよね…。

コジマです。

本日2記事目です。

Railsチュートリアルやっていて、3章のminitestとguradを実行しようとしたんですよ。
そしたらどっちも実行できなくて、なんじゃこりゃって…。

私はVagrant上に立てたCentOSにRails環境を作成して
ファイルはCyberduckを使用して編集しているんですね。

タイトルでオチバレしてますが、Gemfileのアクセス権に書き込み権限がなかったんですわ。

だせぇ。。。

bundle installした結果にguardもminitestも入ってなくて
まさかと思ってサーバーから直接viでGemfile見てみたら何一つ書き変わってなくてですね。

デフォルトでGemfileの権限って664で一般ユーザーには読み込み権限しかないんですね。
とりあえずchmod 666でGemfileとGemfile.lockに書き込み権限を与えたら解決しました。

sudo chmod 666 Gemfile
sudo chmod 666 Gemfile.lock
bundle install --without production
$ bundle show | grep minitest
  * guard-minitest (2.4.4)
  * minitest (5.11.3)
  * minitest-reporters (1.1.14)
$ bundle show | grep guard
  * guard (2.13.0)
  * guard-compat (1.2.1)
  * guard-minitest (2.4.4)
$ bundle exec guard init
09:06:26 - INFO - Writing new Guardfile to /home/vagrant/rails_tutorial/sample_app/Guardfile
09:06:26 - INFO - minitest guard added to Guardfile, feel free to edit it

ちゃんとできましたよ…!

しかしながら一般ユーザーにGemfileの書き込み権限を与えることが適切な処置かどうかは分かってないので、
チームで開発している人はリーダーに確認取る必要ありそうですね。

アクセス権のことを考えないで作業をしていると
思わぬ沼にハマってしまうんですねぇ。。。
レガシーな技術で開発する時はこういうのは自然と意識するのですが、
フレームワークは色々できるものと思ってしまっていたようですね。
反省です。

今後は似たような感じでハマった人に
「アクセス権大丈夫????????????????」
って言ってあげられるようにならなきゃですね。

以上、コジマでした。


Ruby on Railsカテゴリの最新記事