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

在OSX中安装npm模块时,权限被拒绝

袁波
2023-03-14
问题内容

我正在尝试安装node-g.raphael,并且出现以下错误:

Bender-03:htdocs alfred$ sudo npm install node-g.raphael --save
Password:

> contextify@0.1.15 install 
  /Users/alfred/Sites/twistedgeo/htdocs/node_modules/contextify
> node-gyp rebuild

gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir 
  '/Users/alfred/Sites/twistedgeo/htdocs/node_modules/contextify/build'
gyp ERR! System Darwin 16.7.0
gyp ERR! command "/usr/local/bin/node" 
  "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" 
  "rebuild"
gyp ERR! cwd 
  /Users/alfred/Sites/twistedgeo/htdocs/node_modules/contextify
gyp ERR! node -v v8.8.1
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: contextify@0.1.15 
  (node_modules/contextify):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: contextify@0.1.15 
  install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

+ node-g.raphael@0.0.9
added 2 packages and updated 1 package in 6.556s

我已经尝试过此解决方案,但仍不能解决我的问题,仍然遇到相同的错误。

让我知道我是否可以添加任何帮助解决此问题的方法。


问题答案:

从Fixing npm权限中看到了这一点,它很有帮助,也许您也可以尝试一下。

选项1:将权限更改为npm的默认目录

  1. 找到npm目录的路径:

npm config get prefix

对于许多系统,这将是/usr/local

警告 :如果显示的路径是/usr,请切换到 选项2, 否则您将弄乱您的权限。

  1. 将npm目录的所有者更改为当前用户的名称(您的用户名):

sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

这改变了由NPM使用的子文件夹的权限和一些其他的工具(lib/node_modulesbin,和share)。

选项2:将npm的默认目录更改为另一个目录

有时候,您不想更改npm使用的默认目录的所有权(例如/usr),因为这可能会导致一些问题,例如,如果您要与其他用户共享系统。

相反,您可以将npm配置为完全使用其他目录。在我们的情况下,这将是我们主文件夹中的隐藏目录。

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

mkdir ~/.npm-global

  1. 配置npm以使用新的目录路径:

npm config set prefix '~/.npm-global'

  1. 打开或创建~/.profile文件并添加以下行:

export PATH=~/.npm-global/bin:$PATH

  1. 返回命令行,更新系统变量:

source ~/.profile

测试 :不使用全局下载软件包sudo

`npm install node-g.raphael --save`

可以使用相应的ENV变量代替步骤2-4(例如,如果您不想修改~/.profile):

NPM_CONFIG_PREFIX=~/.npm-global

选项3:使用软件包管理器为您解决此问题。

如果要在Mac OS上全新安装Node,则可以使用Homebrew程序包管理器完全避免此问题。Homebrew使用正确的权限开箱即用地进行设置。

brew install node

我希望这有帮助



 类似资料:
  • 我正在尝试安装,出现以下错误: 我尝试过这个解决方案,但它不能解决我的问题,仍然得到同样的错误。 让我知道,如果有什么我可以补充,以帮助解决这个问题。

  • 问题内容: 尝试安装npm模块时,出现奇怪的权限错误。我从头开始,因此我确定我确实可以访问,但是由于某些原因,它一直在抱怨错误: 堆栈错误:EACCES:权限被拒绝,mkdir’/ usr / lib / node_modules / joplin / node_modules / sqlite3 / build’ 我尝试重新启动计算机,并使用chmod 777 创建目录,但仍然无法正常工作。 编

  • 我试图在MacOS10.12上安装sudoNPM-gappium。5. 我得到这个错误: 信息Chromedriver安装为平台“mac”和架构“64”安装Chromedriver版本“2.30” 信息Chromedriver安装打开临时文件以将Chromedriver\u mac64写入。。。 错误:EACCES:权限拒绝,mkdir “/usr/local/lib/node_modules/a

  • 问题内容: 我为此付出了一切,所以希望你们能帮助我。在带有docker-machine的OSX 10.11.2中,我有一个docker- compose文件,该文件应构建一个本地Dockerfile并将MySQL容器附加到该文件。MySQL容器应该在我存储数据库数据的地方安装一个本地文件夹,因此,如果容器或VM关闭,我可以重新启动它而不会丢失数据。问题是,当我运行它时,它将引发权限错误: 我已经尝

  • 问题内容: 我的package.json文件中有git依赖项。当我在react app文件夹中进行 sudo npm install 时,出现此错误 这是我的package.json package.json中的这一行引起了问题。 “ react-file-base64”:“ git + [https://github.com/lrojas94/react-file- base64.git](ht

  • 我有一个从Ubuntu软件应用程序安装的IntelliJ IDEA Ultimate 2022.1.2。它被配置为使用Maven包装器。当我在java项目上执行“安装”时(从生命周期菜单),我得到两个错误: git测试: 协议测试: maven-wrapper.properties: 同样的项目在不同的机器上运行良好。不能解决问题。