我使用ElasticBeanstalk在AWS上创建了一个预先配置的node.js实例,但是应用程序无法正常运行。所以我连接到实例,发现没有节点或角度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 [email protected] 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安装了节点,并尝试了对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,所以也许这个问题有更好/更清洁/更简单的解决方案。
使用以下命令以root用户身份登录:sudo su
并运行npm install
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
exit
并将npm install
作为ec2-user运行