我们正在使用elastic-beanstalk
作为我们的服务器。我们正在使用webpacker
和rails
来编译和捆绑react
应用。部署日志时,我们得到以下内容
yarn install v1.0.2
[1/4] Resolving packages...
Webpacker is installed
Using /var/app/ondeck/config/webpacker.yml file for setting up webpack paths
Compiling…
Compilation failed:
./bin/webpack:26:in `exec': No such file or directory - /var/app/ondeck/node_modules/.bin/webpack (Errno::ENOENT)
from ./bin/webpack:26:in `block in <main>'
from ./bin/webpack:25:in `chdir'
from ./bin/webpack:25:in `<main>'
(Executor::NonZeroExitStatus)
安装纱线包时似乎有错误,因为它不会进入第2步或第4步。
当我进入服务器时,转到ondeck
目录,该目录包含我认为的最新代码,然后运行yarn install
,我得到:
error Could not write file "/var/app/ondeck/yarn-error.log": "EACCES:
permission denied, open '/var/app/ondeck/yarn-error.log'"
error An unexpected error occurred: "EACCES: permission denied, mkdir
'/var/app/ondeck/node_modules'".
当我使用sudo yarn install
它可行时,当我使用sudo chmod -R 777 /var/app
更新权限时,它可以正常工作。所以我尝试将chmod命令添加到.ebextensions config file
,但我没有运气。
奇怪的是我们在elastic-beanstalk
上使用了2台服务器,第一台使用相同的代码和配置文件正确部署。然后这个服务器没有正确部署,所以我不理解服务器之间的权限如何不同,除非有人手动更改它们。
我在webpacker中创建了一个问题:https://github.com/rails/webpacker/issues/810