🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Yarn

Yarnは、Facebook/Exponent/Google/Tildeが開発したJavaScriptのパッケージマネージャ。npmよりもインストールが速く、厳密にモジュールのバージョンを固定できるなど、npmの問題を解決。npmと互換性があり、同じpackage.jsonを使用できます。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

4991閲覧

error An unexpected error occurred: "EACCES: permission denied, unlink

a-ichi

総合スコア16

Yarn

Yarnは、Facebook/Exponent/Google/Tildeが開発したJavaScriptのパッケージマネージャ。npmよりもインストールが速く、厳密にモジュールのバージョンを固定できるなど、npmの問題を解決。npmと互換性があり、同じpackage.jsonを使用できます。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2021/01/30 09:59

編集2021/01/30 13:02

前提・実現したいこと

capistranoでデプロイ完了後、
CSSが反映していない事が発覚し、
rails assets:precompile RAILS_ENV=production
コマンドを入力すると、
error An unexpected error occurred: "EACCES: permission denied, unlink '/var/www/アプリ名/node_modules/.bin/acorn'".
のエラーが出ました。

また、AWSのヘルスチェックも
healthy→unhealthyとなり、
Health checks failed with these codes: [500]となりました。

assets:precompileと、Health checksのエラーを解消したいです。

発生している問題・エラーメッセージ

error An unexpected error occurred: "EACCES: permission denied, unlink '/var/www/アプリ名/node_modules/.bin/acorn'".
Health checks failed with these codes: [500]
このページは動作していません HTTP ERROR 500
lrwxrwxrwx 1 ec2-user ec2-user 18 1月 23 10:04 /var/www/アプリ名/node_modules/.bin/acorn -> ../acorn/bin/acorn

試したこと

・sudo yum update

このサイトを参考に
https://qiita.com/KONTA2019/items/2a519f18b204dea9a771
・sudo vim rails.conf

/var/www/アプリ名/current/public/
この部分を

/var/www/アプリ名/public/
このように変更。


改善されなかった為、元に戻しました。

・sudo systemctl restart mariadb
・sudo systemctl reload nginx
・sudo systemctl restart nginx

・sudo chown -R $USER /var/www/アプリ名/node_modules/.bin/acorn
・sudo chown -R ec2-user:ec2-user /var/www/アプリ名/node_modules/.bin/acorn

権限変わってなさそうです。

・ls -la /var/www/アプリ名/node_modules/.bin/acorn
→結果
lrwxrwxrwx 1 ec2-user ec2-user 18 1月 23 10:04 /var/www/アプリ名/node_modules/.bin/acorn -> ../acorn/bin/acorn

・yarn install
→同じエラーになります。

参考サイト
https://teratail.com/questions/172559
https://qiita.com/KONTA2019/items/2a519f18b204dea9a771
https://stackoverflow.com/questions/45166318/eacces-permission-denied-unlink
https://github.com/yarnpkg/yarn/issues/872

補足情報(FW/ツールのバージョンなど)

rails6
EC2デプロイ
ACM SSL化
Docker
capistrano

エラーの内容で調べたところ、権限の問題かと思い、権限追加のコマンドを入力してみましたが、
改善されなかった為、質問させて頂きました。

何卒、宜しくお願い致します。

#追記
sudo vim /etc/nginx/conf.d/rails.conf

upstream app_server { # sharedの中を参照するよう変更 server unix:/var/www/アプリ名/shared/tmp/sockets/unicorn.sock; } server { listen 80; server_name xx.xx.xx.xx ; root /var/www/アプリ名/current/public; location ^~ /assets/ { gzip_static on; expires max; add_header Cache-Control public; root /var/www/アプリ名/current/public; } try_files $uri/index.html $uri @unicorn; location @unicorn { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://app_server; } error_page 500 502 503 504 /500.html; }

/container/nginx/nginx.conf

upstream アプリ名 { server unix:///アプリ名/tmp/sockets/puma.sock; } server { listen 80; server_name アプリ名.com; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; root /アプリ名/public; client_max_body_size 100m; error_page 404 /404.html; error_page 505 502 503 504 /500.html; try_files $uri/index.html $uri @CustomerCalender; keepalive_timeout 5; location @アプリ名 { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_pass http://アプリ名; } }

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

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

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

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

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

yu_1985

2021/01/30 11:19

capistranoのデプロイ設定を貼ってください また、該当のシンボリックリンクの権限だけではなくその上位のディレクトリの権限も確認してください。 ls -la /var/www/ ls -la /var/www/アプリ名 ls -la /var/www/アプリ名/node_modules あたりですね。 あと、500になっている原因がこれかどうかはわかりませんので切り分けが必要です。
a-ichi

2021/01/30 12:02

yu_1985様 いつもありがとうございます。 何度も申し訳ありません。 ls-la について、文字がかなり多くなりますので、 分けて貼ります。
a-ichi

2021/01/30 12:56 編集

削除しました。
a-ichi

2021/01/30 12:54 編集

削除しました
a-ichi

2021/01/30 12:54 編集

削除しました
a-ichi

2021/01/30 12:53 編集

削除しました
a-ichi

2021/01/30 12:55 編集

削除しました
a-ichi

2021/01/30 12:55 編集

削除しました
a-ichi

2021/01/30 12:55 編集

削除しました
a-ichi

2021/01/30 12:56 編集

削除しました
a-ichi

2021/01/30 12:57 編集

削除しました
a-ichi

2021/01/30 12:57 編集

削除しました
a-ichi

2021/01/30 12:57 編集

削除しました
a-ichi

2021/01/30 12:58 編集

削除しました
a-ichi

2021/01/30 12:12

こちらで以上です。 長文すいません。
a-ichi

2021/01/30 12:58 編集

yu_1985様 sudo yum updateをしてから、 sudo chown -R $USER /var/www/アプリ名/ で error An unexpected error occurred: "EACCES: permission denied, unlink このエラーは解消されました。 ありがとうございます。
a-ichi

2021/01/30 12:51

yu_1985様 ヘルスチェックも直りました! ありがとうございました。
yu_1985

2021/01/30 15:59

消えてしまっていて何も見えませんが、多分sudo yum updateは関係ないと思います。 権限不足だったのかなと。
a-ichi

2021/01/31 03:40

yu_1985様 ありがとうございます。 多分そうですね。 コメント頂く前に解決してしまったので、結果を消してしまいました。 すいません。
guest

回答1

0

自己解決

本番環境で
sudo yum updateをしてから、
sudo chown -R $USER /var/www/アプリ名/


rails assets:precompile RAILS_ENV=productionの
error An unexpected error occurred: "EACCES: permission denied, unlinkエラーは解消しました。

ヘルチェックは、上記エラー解消後
Registered targetsを作り直したら、解消されました。

投稿2021/01/30 13:05

a-ichi

総合スコア16

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問