node.js - 通过 NPM 安装 Browsersync 时权限被拒绝

标签 node.js npm npm-install

我无法安装 Browsersync https://www.browsersync.io/#install到我的 Mac OS Sierra。我安装了node.js并运行命令后

npm install -g browser-sync

我收到错误。我做错了什么?

pavels-iMac:~ Pavel$ npm install -g browser-sync

npm ERR! tar.unpack untar error /Users/Pavel/.npm/browser-sync/2.17.2/package.tgz
npm ERR! Darwin 16.0.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "browser-sync"
npm ERR! node v4.6.0
npm ERR! npm  v2.15.9
npm ERR! path /usr/local/lib/node_modules/browser-sync
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall mkdir

npm ERR! Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/browser-sync'
npm ERR!     at Error (native)
npm ERR!  { [Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/browser-sync']
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'mkdir',
npm ERR!   path: '/usr/local/lib/node_modules/browser-sync',
npm ERR!   fstream_type: 'Directory',
npm ERR!   fstream_path: '/usr/local/lib/node_modules/browser-sync',
npm ERR!   fstream_class: 'DirWriter',
npm ERR!   fstream_stack: 
npm ERR!    [ '/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:35:25',
npm ERR!      '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:47:53',
npm ERR!      'FSReqWrap.oncomplete (fs.js:82:15)' ] }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/Pavel/npm-debug.log

最佳答案

two officially-suggested methods for fixing this :

  1. 直接npm全局安装模块somewhere your user owns通过发出 npm config set prefix ~./some/folder 并将 ~./some/folder/bin 添加到您的 $PATH

  2. 将/usr/local 子集的所有权更改给您的用户。

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

但是,第一个解决方案似乎是最合理的。无论如何,我不一定认为人们应该乱搞系统权限。

进一步讨论How/why does npm recommend not running as root?

关于node.js - 通过 NPM 安装 Browsersync 时权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39985691/

相关文章:

node.js - 来自服务器 : * OK The Microsoft Exchange IMAP4 service is ready 的无效问候

javascript - 如何在不知道按钮 id/class 或表单 id/class 的情况下提交表单?

node.js - yarn 安装抛出错误请求失败\"404 Not found"

android - 尝试安装 react-devtools 时出错

javascript - NPM 安装出现 fatal error : reference is not a tree

javascript - 从单个 Intent 输出多个响应

javascript - 使用命令行中的参数运行 JS 函数

npm - 使用 NPM 将 CSS 文件合并为单个文件

node.js - 错误! Buffer.alloc 不是函数

NPM 登录,无需手动输入用户名、密码和电子邮件