如何通过部署Node.js AWS Beanstalk解决/tmp/.config中的权限问题?

问题描述 投票:1回答:1

不幸的是,我一直在将我的React应用程序部署到Node.js AWS Beanstalk上,所有时间都在/var/log/nodejs/nodejs.log中:

ℹ 「wds」: Project is running at http://172.31.28.128/
ℹ 「wds」: webpack output is served from 
ℹ 「wds」: Content not from webpack is served from /var/app/current/public
ℹ 「wds」: 404s will fallback to /
Starting the development server...


┌──────────────────────────────────────────────────┐
│             npm update check failed              │
│       Try running with sudo or get access        │
│       to the local update config store via       │
│ sudo chown -R $USER:$(id -gn $USER) /tmp/.config │
└──────────────────────────────────────────────────┘

我已经尝试了所有可能的解决方案,包括:

  • 通过.ebextensions中的配置更改权限(已选中许多变体)
  • 。npmrc文件,在应用程序的根文件夹中具有unsafe-perm = true(也已添加到src中以进行检查)
  • NPM_CONFIG_UNSAFE_PERM =环境属性中为true
  • 先删除package-lock.json,然后再删除npm I
  • 将实例更改为功能更强大,当前为t2.small

有趣的事实是/tmp/.config当前具有足够的权限,但仍然失败

drwxrwxrwx  3 ec2-user ec2-user  4096 May  2 12:05 .config

我的文件下面是通过eb deploy部署的(我从s3下载)

wrmac:app-388c-200502_153210 wojtek$ ls -la
total 1600
drwxr-xr-x@  12 wojtek  staff     384 May  2 20:57 .
drwx------@ 294 wojtek  staff    9408 May  2 20:57 ..
-rw-r--r--@   1 wojtek  staff    6148 May  2 20:57 .DS_Store
drwxr-xr-x@   4 wojtek  staff     128 May  2 15:22 .ebextensions
-rw-r--r--@   1 wojtek  staff     407 May  1 15:26 .gitignore
-rw-r--r--@   1 wojtek  staff      17 May  2 14:46 .npmrc
-rw-r--r--@   1 wojtek  staff  121322 Sep 29  2018 README.md
-rw-r--r--@   1 wojtek  staff     296 Sep 29  2018 frontend.iml
-rw-r--r--@   1 wojtek  staff  667957 May  2 15:31 package-lock.json
-rw-r--r--@   1 wojtek  staff    1035 May  1 22:14 package.json
drwxr-xr-x@  11 wojtek  staff     352 Oct 17  2019 public
drwxr-xr-x@  13 wojtek  staff     416 May  2 14:46 src
wrmac:app-388c-200502_153210 wojtek$ ls -la .ebextensions/
total 16
drwxr-xr-x@  4 wojtek  staff   128 May  2 15:22 .
drwxr-xr-x@ 12 wojtek  staff   384 May  2 20:57 ..
-rw-r--r--@  1 wojtek  staff   212 May  2 14:45 00_change_npm_permissions.config
-rw-r--r--@  1 wojtek  staff  3856 Apr 25 15:40 https-redirect-nodejs.config

您可以看到,我那里没有node_modules,有些人会遇到这种情况。在.ebignore中,我也排除了

node_modules/
.idea/
.git/

((我也尝试过排除.DS_Store,.gitignore和frontend.iml)

我还有另外两个环境属性:NODE_ENV和NPM_CONFIG_PRODUCTION,都为true。

具体来说,我正在使用:

Platform branch Node.js running on 64bit Amazon Linux Current platform
version 4.14.1 Current Node.js version 12.16.1

您有什么想法可以解决问题吗?

node.js deployment permissions amazon-elastic-beanstalk
1个回答
0
投票

似乎对于这个奇怪的AWS特定问题,唯一的解决方案是购买价格超过100美元的“业务”支持,也有更便宜的“开发人员”支持选项,但根据描述,这可能还不够。

最终,我决定将VPS完全解决了我的问题(不同的托管服务提供商),此外,它比AWS便宜几倍,我没有这种奇怪的CPU周期计数,价格很容易预测,可能还没有其他好处。

© www.soinside.com 2019 - 2024. All rights reserved.