gpt4 book ai didi

node.js - 在 aws ec2 实例上安装 npm 抛出 EACCES

转载 作者:太空宇宙 更新时间:2023-11-04 00:12:38 25 4
gpt4 key购买 nike

我已使用 ElasticBeanstalk 在 AWS 上创建了一个预配置的 node.js 实例,但该应用程序无法正确运行。所以我连接到实例并发现没有 Node 或角度cli,所以我手动安装了它们。然后我尝试在应用程序文件夹中运行 npm install 但失败,这是输出错误。

[ec2-user@ip current]$ npm install
npm WARN checkPermissions Missing write access to /var/app/current/node_modules/tslib
npm WARN checkPermissions Missing write access to /var/app/current/node_modules/@ngx-loading-bar/core
npm WARN checkPermissions Missing write access to /var/app/current/node_modules/@angular/animations
npm WARN checkPermissions Missing write access to /var/app/current/node_modules/@angular/common
npm WARN checkPermissions Missing write access to /var/app/current/node_modules/@angular/compiler
npm WARN checkPermissions Missing write access to /var/app/current/node_modules/@angular/core
npm WARN checkPermissions Missing write access to /var/app/current/node_modules/@angular/forms
npm WARN checkPermissions Missing write access to /var/app/current/node_modules/@angular/http
npm WARN checkPermissions Missing write access to /var/app/current/node_modules/@angular/platform-browser
npm WARN checkPermissions Missing write access to /var/app/current/node_modules/@angular/platform-browser-dynamic
npm WARN checkPermissions Missing write access to /var/app/current/node_modules/@angular/router
npm WARN checkPermissions Missing write access to /var/app/current/node_modules/@ng-bootstrap/ng-bootstrap
npm WARN checkPermissions Missing write access to /var/app/current/node_modules/@ngx-loading-bar/http-client
npm WARN checkPermissions Missing write access to /var/app/current/node_modules/@ngx-loading-bar/router
npm WARN checkPermissions Missing write access to /var/app/current/node_modules/bootstrap
npm WARN checkPermissions Missing write access to /var/app/current/node_modules/ngx-mydatepicker
npm WARN checkPermissions Missing write access to /var/app/current/node_modules/ngx-toastr
npm WARN checkPermissions Missing write access to /var/app/current/node_modules
npm WARN checkPermissions Missing write access to /var/app/current/node_modules/@ngx-loading-bar
npm WARN checkPermissions Missing write access to /var/app/current/node_modules/@angular
npm WARN checkPermissions Missing write access to /var/app/current/node_modules/@ng-bootstrap
npm WARN ng2-nouislider@1.7.7 requires a peer of nouislider@^9.0.0 || ^10.0.0 but none is installed. You must install peer dependencies yourself.

npm ERR! path /var/app/current/node_modules/tslib
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/var/app/current/node_modules/tslib'
npm ERR! { Error: EACCES: permission denied, access '/var/app/current/node_modules/tslib'
npm ERR! stack: 'Error: EACCES: permission denied, access \'/var/app/current/node_modules/tslib\'',
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/var/app/current/node_modules/tslib' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR! /home/ec2-user/.npm/_logs/2018-02-15T00_53_02_546Z-debug.log

我已经使用版本管理器 nvm 安装了 Node,并尝试了对 Nodejs 的 chown 权限:

drwxr-xr-x 16 nodejs nodejs   4096 Feb 15 00:25 node_modules
[ec2-user@ip current]$ cd node_modules/
[ec2-user@ip node_modules]$ ls -la
total 64
drwxr-xr-x 16 nodejs nodejs 4096 Feb 15 00:25 .
drwxr-xr-x 5 nodejs nodejs 4096 Feb 15 00:26 ..
drwxr-xr-x 11 nodejs nodejs 4096 Feb 15 00:25 @angular
drwxr-xr-x 5 nodejs nodejs 4096 Feb 15 00:25 bootstrap
drwxr-xr-x 13 nodejs nodejs 4096 Feb 15 00:25 core-js
drwxr-xr-x 6 nodejs nodejs 4096 Feb 15 00:25 font-awesome
drwxr-xr-x 4 nodejs nodejs 4096 Feb 15 00:25 ng2-nouislider
drwxr-xr-x 3 nodejs nodejs 4096 Feb 15 00:25 @ng-bootstrap
drwxr-xr-x 5 nodejs nodejs 4096 Feb 15 00:25 @ngx-loading-bar
drwxr-xr-x 4 nodejs nodejs 4096 Feb 15 00:25 ngx-mydatepicker
drwxr-xr-x 8 nodejs nodejs 4096 Feb 15 00:25 ngx-toastr
drwxr-xr-x 3 nodejs nodejs 4096 Feb 15 00:25 nouislider
drwxr-xr-x 14 nodejs nodejs 4096 Feb 15 00:25 rxjs
drwxr-xr-x 4 nodejs nodejs 4096 Feb 15 00:25 symbol-observable
drwxr-xr-x 3 nodejs nodejs 4096 Feb 15 00:25 tslib
drwxr-xr-x 4 nodejs nodejs 4096 Feb 15 00:25 zone.js

如果有人能帮助我解决这个问题,我将不胜感激,谢谢。

最佳答案

这是一个 LINUX 权限问题,您的 ec2 用户在该目录中没有写入权限。

我最近遇到了同样的问题,我的解决方法如下:

请注意,我不是 UNIX 方面的专家,也不是 AWS 方面的专家,所以也许有一个更好/更干净/更简单的解决方案来解决这个问题。

全局安装 Node 和 npm:

使用以下命令以 root 用户身份登录:sudo su 并运行 npm install

仅在ec2-user中安装node和npm:

  • 使用以下命令以 root 用户身份登录:sudo su
  • 创建用户组:sudo groupadd mygroup
  • 现在该群组已存在,请向其中添加用户:
sudo usermod -a -G mygroup root
sudo usermod -a -G mygroup uc2-user
  • 现在剩下的就是设置目录的权限:
sudo chgrp -R mygroup /path/to/the/directory
sudo chmod -R 777 /path/to/the/directory
  • 现在您可以以 root 用户身份退出:exit 并以 ec2-user 身份运行 npm install

关于node.js - 在 aws ec2 实例上安装 npm 抛出 EACCES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48798760/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com