使用终端安装 Parcel Bundler 时如何修复权限错误

Posted

技术标签:

【中文标题】使用终端安装 Parcel Bundler 时如何修复权限错误【英文标题】:How to fix permission error while installing Parcel Bundler with terminal 【发布时间】:2019-09-12 16:58:10 【问题描述】:

在 nodeJS 中安装 parcel 模块时,通过 Mac OS 上的终端出现权限错误。 错误:checkPermission 缺少对 /usr/local/lib/node_modules 的写访问权限

我是学习节点模块的新手。我尝试安装(节点,NPM)一切正常。但是第一次安装节点模块会抛出错误。我知道它正在寻找 Windows 类型 URL 的目录,但我不知道如何为 mac 修复它。

iMac:~ hassan$ node -v
v11.10.0 
iMac:~ hassan$ npm -v
6.7.0
iMac:~ hassan$ npm install -g parcel-bundler
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).

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/hassan/.npm/_logs/2019-04-23T13_13_46_848Z-debug.log

我想在我的网站上为 Ui 动画安装 Parcel Bundler。

【问题讨论】:

如果你真的想全局安装包(即,使用 -g 标志),你需要使用sudo npm install -g parcel-bundler 同样的问题,但使用命令执行 sudo 会得到相同的结果。还尝试首先设置目录: sudo chown -R $USER ~/.npm sudo chown -R $USER /usr/lib/node_modules sudo chown -R $USER /usr/local/lib/node_modules (旁白;对不起,没有换行符,显然降价在这里不起作用?) 【参考方案1】:

您需要以超级管理员的身份访问/usr/local/lib/node_modules,才能执行parcel-bundler 的全局安装。

正如评论中提到的并假设您的用户是这台计算机的 sudoers 列表,您可以简单地这样做:

sudo npm -g install parcel-bundler

如果不是这种情况,您需要在系统上获得更多权限才能安装 Parcel。然后你就可以:

在文件 sudoers.d 中将您的用户添加为 sudoers(注意这样做!请参阅 this tutorial 对于 OSX)。

直接以电脑的超级管理员身份进行操作。

关于计算机本身的长期管理和安全性,我更喜欢第一种选择。其他选项虽然不推荐,但在某些情况下仍然可行。

否则,如果您选择在本地安装 Parcel,则不会出现权限错误。在这种情况下,只需在运行命令时省略 -g 标志(即npm install parcel-bundler)。最终会将 parcel 添加到您的 package.json 文件中,以便您以后可以再次安装它。

【讨论】:

以上是关于使用终端安装 Parcel Bundler 时如何修复权限错误的主要内容,如果未能解决你的问题,请参考以下文章

Parcel Bundler 和 React 服务器端渲染

如何修复在 Parcel.js 中运行的服务器上的“未找到条目”

Parcel Bundler - 处理 scss 而不解析我的 sass 中的任何 url

json Parcel Bundler Starter

parcel-bundler 中的 .cache 文件夹是啥?是不是需要将 .cache 文件夹推送到 Github?

如何将 jQuery 和 jQuery-ui 与 Parcel(捆绑器)一起使用?