7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【VScode】なぜか自動保存できねえ時の解決法、そしてパーミッション関連のことも【備忘録】

Last updated at Posted at 2020-04-04

【VScode】なぜか自動保存できねえ時の解決法

設定でAfterdelayなどにしてファイルの自動保存機能をつけているVScodeで開発しているときに、
以下のようなエラーが出て、自動が保存ができないような事態の解決法を紹介します
エラー1.jpg

[アクセス権限が不十分です。[Sudo 権限で再試行]を選択してスーパーユーザーとして再試行してください。]
と出ております。
つまり、現在、Sudoユーザーとして、ファイルにアクセスできていない状態なので、
・スーパーユーザーにモードを変える
・ファイル、あるいはフォルダのアクセス権限(パーミッション)を変更する
方法があります。

今回は後者の手段を用いて、このエラーを解決します。

terminal
sudo chmod -R 777 ファイルのディレクトリ位置(Ex. /Users/kazuhitoNakayama/Desktop/index.html.erb)

この一行で、全てのユーザーに対してのファイルの実行権限を与えられるので、
上記エラーが解決されます。

解説

chmodとは

👉ファイルやディレクトリのアクセス権限を変更する際に使うコマンドです
 (UNIX系のOSで使用できます。Ex.Macなど)

使い方は、chmod [オプション] [与える権限] [対象のファイル、ディレクトリのディレクトリ位置]

オプションは私は普段 「-R」を使ってますが、他にもたくさんあるので
「chmod オプション」とかでお調べください!

777とは

👉先ほどchmod [オプション] [与える権限] [対象のファイル、ディレクトリのディレクトリ位置]
とお伝えしました。
ここでの[与える権限]について説明すると、アクセス権の記法には2種類あり、
・アルファベット
・数字
があります。

アルファベットでの記法

あるフォルダの中に入って「ls -l」をすることで、各ファイルの権限を参照できるので、みてみると、
アルファベットの羅列が見えます。

terminal
$ ls -l
drwxr-xr-x  2 user_name  group  68  8 30 15:53 css
-rw-r--r--  1 user_name  group   0  8 30 15:53 index.html

それぞれの文字は
r:(read)読み込み権限
w:(write)書き込み権限
x:(execute)実行権限
こんな風に対応しております。

例えば上の、drwxr-xr-xをいかに読むかというと
d/rwx/r-x/r-x 
↑こんな風に区切られます。

また、それぞれの区切りの中で、
ディレクトリなのかファイルなのか/所有者に対する権限/グループに対する権限/その他の者に対する権限/
という風に区切られており、それぞれの対象に対して、権限をr・w・xで与えます。
(1文字目に関してはdならば当該ファイルはディレクトリとわかります。-ならばファイルです。)

よって、
d/rwx/r-x/r-xは
ーディレクトリであり
自分に対して、読み込み、書き込み、実行の全ての権限が与えられており、
グループに対して、読み込み、実行権限が与えられており、
その他の者に対して、読み込み、実行権限が与えられています。

数字の記法

シンプルで、上記、r・w・xがそれぞれ数字に変わるだけですね!

r(読み込み権限):4
w(書き込み権限):2
x(実行権限):1

そして今回は3つの数字で権限対象、与える権限を表現します
例えば、731

1つ目の数字:所有者
2つ目の数字:グループ
3つ目の数字:その他の者
という風になっているので、

731は、
所有者は、7=4+2+1なので読み込み、書き込み、実行権限が与えられ、
グループは、3=2+1なので書き込み、実行権限が与えられ、
その他の者は、1なので実行権限が与えられます。

総括

冒頭の振り返りで行くと

terminal
sudo chmod -R 777 ファイルのディレクトリ位置(Ex. /Users/kazuhitoNakayama/Desktop/index.html.erb)

これによりindex.html.erbのファイルのパーミッションを、誰でも実行できるようにしたので、自分がファイルを変更してもパーミッションで怒られることがなくなったのです!

パーミッションは自分的に忘れやすい!
必覚!

7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?