Gulp 安装权限问题

Posted

技术标签:

【中文标题】Gulp 安装权限问题【英文标题】:Gulp installation permission issue 【发布时间】:2019-12-13 19:30:28 【问题描述】:

我想在 Mac 上安装 Gulp 4.0.2,但由于缺少写入权限而失败。

$ npm i -S gulp -g

npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR!   [Error: EACCES: permission denied, access '/usr/local/lib/node_modules']
npm ERR!   stack:
npm ERR!    'Error: EACCES: permission denied, access \'/usr/local/lib/node_modules\'',
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/local/lib/node_modules' 
npm ERR! 
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR! 
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator (though this is not recommended).

似乎 Gulp 安装需要 root 权限,但不建议这样做。我不想以管理员身份安装 gulp :(

是否可以创建另一个没有 root 权限的用户并从那里安装 Gulp?如果是,该怎么做?

任何建议将不胜感激,谢谢!

【问题讨论】:

【参考方案1】:

您可以将gulp 安装到您的项目目录本地而不是全局:

npm install gulp

然后您可以使用 npx 运行本地版本:

npx gulp

注意:npx 与 NPM 5.2+ 版本捆绑在一起


您也可以在 package.json 中使用脚本:

"scripts": 
  "gulp": "gulp"

npm run gulp

【讨论】:

非常感谢,它有效!我很惊讶我在第一次搜索结果中没有找到这样的解决方案。希望对某人有所帮助。【参考方案2】:

避免这些权限问题的官方文档...

https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally

如果您使用的是较新的 Mac,请务必尝试 touch ~/.zshrc

【讨论】:

以上是关于Gulp 安装权限问题的主要内容,如果未能解决你的问题,请参考以下文章

mac

npm 无法安装全局包?

Vue 项目运行报错 node_modules/.bin/gulp: Permission denied

Google 登录:为目标域生成登录提示的权限被拒绝(javascript 网络应用程序)

出现无法安装服务,没有足够的权限安装该软件,怎么解决?

GitLab - 安装时提示/tmp目录无权限