linux - 错误:EACCES:权限被拒绝 NPM Ubuntu 服务器
问题描述
我正在运行一个 Ubuntu EC2 服务器并按照AWS 提供的教程安装nvm
and node
,但是当我尝试运行时npm install
,我抛出了一个错误:
Error: EACCES: permission denied, access '/var/www/app'
Please try running this command again as root/Administrator.
使用 EC2 Ubuntu 服务的标准过程似乎只为ubuntu
用户提供sudo
特权而没有访问权限,root
因此我尝试运行sudo npm install
,但我收到了sudo: npm: command not found
。我认为发生这种情况的原因是因为 nvm 位于/home/ubuntu/.nvm/versions/node/v6.12.3/bin/node
,root
可能无法访问?
是否可以为此命令指向root
此目录位置,或者是否有不同的解决方案?
解决方案
您收到该错误是因为您没有对该 /var/www/app 的用户的写入权限。
您可以按照此处的答案授予对该文件夹的权限。 https://askubuntu.com/questions/749697/how-do-i-give-myself-access-to-var-www-to-create-and-edit-files-and-folders-in
当您使用 sudo 时,您会收到有关未安装 npm 的错误,因为它不是为管理员用户安装的。我会避免通过 sudo 安装 node 和 npm。只需更改文件夹权限即可。
推荐阅读
- sql - 我可以使用 T-SQL 为每个呼叫 ID 减去 2 个呼叫时间吗?
- parameter-passing - 将用户指定的参数传递给 DataLoader
- c++ - 我真的应该将头文件指定为 target_sources() 吗?
- php - 像素电子邮件跟踪不适用于 Gmail
- r - 通过分隔符在列中拆分字符串,并使用 R 在同一数据框中将这些字符串添加为新列
- laravel - Laravel Lighthouse - 在 handleBuilder 方法中接收 Eloquent Builder 而不是 Query Builder?
- c# - 命令提示符应该打开一个窗口 5 秒后关闭并重新打开
- python - 合并熊猫数据框中的字符串时出现问题 - 编码问题?
- unit-testing - 在 rust 测试中使用外部文件
- sql - EXECUTE 权限不足以使用存储过程。还必须授予对基础对象的 SELECT 权限。为什么?