2

我有带有 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.

有谁知道为什么会这样?

4

2 回答 2

0

问题是因为 npm 没有执行 npm 安装的权限。检查此链接以获取正确的解决方案。

于 2019-09-09T16:49:40.613 回答
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.logeb-activity.log按照建议。

于 2018-04-15T20:47:34.663 回答