AWSの環境構築で、開発用とステージング用と本番用の環境を作る必要がありまして、
今、開発用のところで詰まっています。
EC2の中でnginx導入したり諸々の導入と設定は終わっていて、Laravel(5.8)もcloneしてきています。
今回Laravel同梱のVue.jsを使っています。
devブランチが一番開発が進んでいるので
cloneしてきたあとはdevブランチに切り替えてから以下を行いました。
sudo composer install sudo cp .env.example .env sudo php artisan key:generate sudo chmod -R 777 storage sudo chmod -R 775 bootstrap/cache sudo yarn install sudo yarn dev
yarn installでエラーがでていたので、nodeのバージョンを確認したところv6.17.1
でした。
ローカル環境ではうまくいってたのにと思ってバージョンを確認してみると大きくずれていたので、まずはec2のnodeとyarnのバージョンをmacと合わせました。
mac
1$ node -v 2v12.12.0 3$ npm -v 46.13.1 5$ yarn -v 61.19.1
とりあえずこれで、yarn install時にはエラーはでなくなりました。
次のyarn devから詰まっています。
yean dev実行時のエラーです。
yarn 使ってるからダメなのではと思ってnpm使ってもエラーがでます。
yarn run v1.19.2 $ npm run development npm WARN lifecycle The node binary used for scripts is /tmp/yarn--1576055784289-0.4270595294806825/node but npm is using /home/yamada/.nvm/versions/node/v13.3.0/bin/node itself. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with. > @ development /var/www/html > cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js 14% building 35/40 modules 5 active ...ader/src/index.js??ref--10-2!/var/www/html/node_modules/@mdi/font/css/materialdesignicons.css^95% emitting unnamed compat plugininternal/fs/utils.js:227 throw err; ^ Error: EACCES: permission denied, open '/var/www/html/public/mix-manifest.json' at Object.openSync (fs.js:446:3) at Object.writeFileSync (fs.js:1287:35) at File.write (/var/www/html/node_modules/laravel-mix/src/File.js:157:12) at Manifest.refresh (/var/www/html/node_modules/laravel-mix/src/Manifest.js:78:14) at /var/www/html/node_modules/laravel-mix/src/webpackPlugins/ManifestPlugin.js:12:43 at AsyncSeriesHook.eval [as callAsync] (eval at create (/var/www/html/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:10:1) at AsyncSeriesHook.lazyCompileHook (/var/www/html/node_modules/tapable/lib/Hook.js:154:20) at Compiler.emitAssets (/var/www/html/node_modules/webpack/lib/Compiler.js:491:19) at onCompiled (/var/www/html/node_modules/webpack/lib/Compiler.js:278:9) at /var/www/html/node_modules/webpack/lib/Compiler.js:681:15 at AsyncSeriesHook.eval [as callAsync] (eval at create (/var/www/html/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:13:1) at AsyncSeriesHook.lazyCompileHook (/var/www/html/node_modules/tapable/lib/Hook.js:154:20) at /var/www/html/node_modules/webpack/lib/Compiler.js:678:31 at AsyncSeriesHook.eval [as callAsync] (eval at create (/var/www/html/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:7:1) at AsyncSeriesHook.lazyCompileHook (/var/www/html/node_modules/tapable/lib/Hook.js:154:20) at /var/www/html/node_modules/webpack/lib/Compilation.js:1423:35 at AsyncSeriesHook.eval [as callAsync] (eval at create (/var/www/html/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:7:1) at AsyncSeriesHook.lazyCompileHook (/var/www/html/node_modules/tapable/lib/Hook.js:154:20) at /var/www/html/node_modules/webpack/lib/Compilation.js:1414:32 at AsyncSeriesHook.eval [as callAsync] (eval at create (/var/www/html/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:7:1) at AsyncSeriesHook.lazyCompileHook (/var/www/html/node_modules/tapable/lib/Hook.js:154:20) at /var/www/html/node_modules/webpack/lib/Compilation.js:1409:36 at eval (eval at create (/var/www/html/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:15:1) at /var/www/html/node_modules/extract-text-webpack-plugin/dist/index.js:330:9 at _next3 (eval at create (/var/www/html/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:11:1) at eval (eval at create (/var/www/html/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:27:1) at /var/www/html/node_modules/extract-text-webpack-plugin/dist/index.js:330:9 at _next2 (eval at create (/var/www/html/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:23:1) at eval (eval at create (/var/www/html/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:39:1) at /var/www/html/node_modules/extract-text-webpack-plugin/dist/index.js:330:9 at _next1 (eval at create (/var/www/html/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:35:1) at eval (eval at create (/var/www/html/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:51:1) at /var/www/html/node_modules/extract-text-webpack-plugin/dist/index.js:330:9 at _next0 (eval at create (/var/www/html/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:47:1) at eval (eval at create (/var/www/html/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:62:1) at /var/www/html/node_modules/extract-text-webpack-plugin/dist/index.js:330:9 { errno: -13, syscall: 'open', code: 'EACCES', path: '/var/www/html/public/mix-manifest.json' } npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! @ development: `cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the @ development script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /home/yamada/.npm/_logs/2019-12-11T09_16_51_205Z-debug.log error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
vue.jsを使っていない状態のmasterブランチに切り替えて確認すると普通にアクセスできるので、問題はamazonlinux2を使ったec2でjsやcssをlaravel mixを使ってどうやってビルドできるか
が分かれば良いと思うのですが、やり方がわからず詰まっています。
Laravelとvue.jsのデプロイは過去に1度だけやったことがあったのですが、
過去のは各localでビルドしたものをgithubで管理対象としていたので、aws各環境でcloneしてきたらビルドする必要がありませんでした。
今回は、ec2でpullする度に、ec2側でビルドさせたいので詰まっています。
ec2側でビルドさせたい理由としては、各localでビルドしたものをpushされるとコンフリ起こすこともあり、少量ならいいのですが、量が多いと大変だったりするのです。
なので、ビルドしたものを管理するようにしたらいいという回答は控えていただくようお願いします。
冒頭で諸々の導入と設定は終わっている
といいましたが、webpackでビルドするために必要なものがインストールできていなかったりするのかもしれません。
しかし、それがあるかどうかもわからない状態です。
唯一わかっているのはlaravel mixを使うならnodeとnpmは最新にするというところぐらいです。
ちなみに諸々インストールしたものは以下になります。
bash
1sudo yum install -y git 2sudo amazon-linux-extras install -y vim 3sudo amazon-linux-extras install -y php7.2 4sudo yum install -y php php-devel php-mbstring php-xml 5sudo yum install -y mysql 6sudo amazon-linux-extras install -y nginx1.12 7sudo amazon-linux-extras install -y epel 8sudo yum install -y google-authenticator 9sudo curl -sS https://getcomposer.org/installer | php 10sudo mv composer.phar /bin/composer 11sudo which composer 12sudo wget -r --no-parent -A 'epel-release-*.rpm' http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/ 13sudo rpm -Uvh dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-*.rpm 14sudo yum-config-manager --enable epel* 15sudo yum -y install certbot python2-certbot-nginx 16sudo yum -y install wget 17sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo 18sudo curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - 19sudo yum -y install yarn
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/12/13 03:33 編集
2019/12/13 03:42
退会済みユーザー
2019/12/13 04:02
2019/12/13 04:04