当前位置: 首页 > 面试题库 >

gyp WARN EACCES用户“ root”没有访问开发目录的权限

梁丘高朗
2023-03-14
问题内容

尝试去

sudo npm install protractor -g

并再次发生同样臭名昭著的错误/警告(无济于事):

gyp WARN EACCES user "root" does not have permission to access the dev dir "/Users/dmitrizaitsev/.node-gyp/0.12.0"

似乎发生的是node version 0.12.0,尽管是我计算机上的当前节点版本,但在同一安装过程中一次又一次地下载并重建它:

node -v
v0.12.0

问题:

  • 实际上缺少目录“ /Users/dmitrizaitsev/.node-gyp/0.12.0”!为什么会有这样的误导性消息?

  • 为什么node v0.12.0在和之前成功重建期间都没有创建此目录node-gyp

  • (显然)如何防止这种情况发生?

如果这很重要,我可以运行Mac OSX 10.8.5。


问题答案:

更新。有一个更好的方法-将npm的默认全局目录更改为您已经具有正确权限的用户子目录,因此不必首先弄乱系统文件的权限或所有权。

如https://docs.npmjs.com/getting-started/fixing-npm-
permissions中的
建议 :

  1. 创建用于全局安装的目录:

mkdir ~/.npm-global
  1. 配置npm以使用新的目录路径:

npm config set prefix '~/.npm-global'
  1. 打开或创建一个~/.profile(或其他~/.bash_profile)文件,并添加以下行(在文件末尾):
export PATH=~/.npm-global/bin:$PATH
  1. 在命令行上,更新系统变量
source ~/.profile

要么 source ~/.bash_profile

另请参阅有关该主题的Sindre
Sorhus指南:https : //github.com/sindresorhus/guides/blob/master/npm-
global-without-
sudo.md

现在已经知道出了什么问题:

目录具有错误的权限-不可 (与“可访问”相比,这是更好的错误消息)。

而且由于它不可写,因此使用了一个临时目录,并在每次使用后将其删除,这就是为什么必须一次又一次运行整个下载的原因。

解决方案是使用以下命令设置用户权限

sudo chown -R $USER <directory>

再也不会sudo npm。似乎每当您运行时sudonpm,所有创建的子目录都会获得错误的权限,这将在以后导致问题。



 类似资料:
  • 我找了很多,但都不适合我。 我有一个全新的LAMP服务器安装,通过任务命令安装。我的系统运行的是 7.4 和 MySql 8 出于某种原因,root用户(在我的例子中默认称为phpmyadmin)对DB没有权限。 我可以登录,所以我确信密码是正确的,但我无法创建数据库。 编辑 如建议,这是 新编辑 我试图在没有密码的情况下访问,按照这里报告的指南:... 我没有结果:( 停止MySQL服务器:su

  • 问题内容: 我不断收到此错误。 我正在使用mySQL Workbench,从中发现根的架构特权为空。根本没有特权。 我在使用服务器的平台上遇到了麻烦,这是一个突然的问题。 root@127.0.0.1 显然具有很多访问权限,但我已以此身份登录,但无论如何它只是分配给localhost-本地主机没有特权。 我做了一些类似,,等等的事情,但是从那儿或互联网上都没有找到成功。 如何获得根对其访问的权限?

  • 我不断收到这个错误。 我使用的是mySQL Workbench,我发现root的模式特权为空。根本没有特权。 我在我的服务器所使用的平台上遇到了麻烦,这是一个突如其来的问题。 root@127.0.0.1显然有很多访问权限,但我是以这个身份登录的,但它只是分配给localhost-localhost没有特权。 我已经做了一些事情,如,等,但没有发现成功的从它或互联网。 我如何恢复root的访问权限

  • 问题内容: 我正在上一些大学课程,并且得到了“教学帐户”,这是我可以用来工作的学校帐户。我想在那台机器上运行需要大量计算的Numpy,matplotlib,scipy代码,但是由于我不是系统管理员,所以无法安装这些模块。 我该如何安装? 问题答案: 在大多数情况下,最好的解决方案是通过运行以下命令来依靠所谓的“用户站点”位置(有关详细信息,请参阅PEP): 以下是我原始答案提供的一种“更手动”的方

  • 我的主机提供商不允许我在根目录上上载文件。它只允许访问公用文件夹。我试图移动索引。php

  • 伙计们,我有共同的问题。我想用PHP将MySQL数据库中的数据显示到HTML页面中。 使用此代码: 但我有