我在Laravel 5.4中使用了Elastic Beanstalk,这是我的02-node.config:
commands:
01-install-node:
command: "curl --silent --location https://rpm.nodesource.com/setup_8.x | s$
command: "sudo yum -y install nodejs"
03-deploy.config
container_commands:
01-laravel-deploy:
command: "php artisan migrate"
command: "php artisan config:clear"
command: "php artisan config:cache"
command: "php artisan route:clear"
command: "php artisan route:cache"
command: "npm install"
command: "npm run prod"
在部署期间,我得到:
ERROR: [Instance: i-018d9dd563f6ba0e6] Command failed on instance. Return code: 1 Output: (TRUNCATED)...ar/app/ondeck
npm ERR! node -v v0.10.48
npm ERR! npm -v 1.3.6
npm ERR! syscall spawn
npm ERR! code ENOENT
npm ERR! errno ENOENT
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /var/app/ondeck/npm-debug.log
npm ERR! not ok code 0.
container_command 01-laravel-deploy in .ebextensions/03-deploy.config failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.
INFO: Command execution completed on all instances. Summary: [Successful: 0, Failed: 1].
ERROR: Unsuccessful command execution on instance id(s) 'i-018d9dd563f6ba0e6'. Aborting the operation.
ERROR: Failed to deploy application.
有谁知道为什么会这样?
答案 0 :(得分:0)
这一行:
command: "curl --silent --location https://rpm.nodesource.com/setup_8.x | s$
没有任何意义。双引号未关闭,您可以将其重定向到s$
,但您应该重定向到bash
,所以:
command: "curl -sL https://rpm.nodesource.com/setup_8.x | bash -E -"
有关错误的详细信息,请按照建议检查:npm-debug.log
和eb-activity.log
。
答案 1 :(得分:0)
问题是因为npm无权执行npm安装。选中此link以获得正确的解决方案。