7

我正在尝试部署我的网络应用程序的 Firebase 托管。

在命令行中,当我键入 时firebase deploy,我收到以下错误。

注:firebase deploy只是一个例子。firebase所有命令都会出现相同的错误。(例如,firebase --helpfirebase -vfirebase loginfirebase logout等)

错误

/usr/local/lib/node_modules/firebase-tools/node_modules/configstore/index.js:53 抛出错误;^

错误:EACCES:权限被拒绝,打开 '/Users/mowzer/.config/configstore/update-notifier-firebase-tools.json' 您无权访问此文件。


在Object.fs.openSync (fs.js:549:18) 在 Object.create.all.get (/usr/local/lib )
的 Object.fs.readFileSync (fs.js:397:15) 的错误(本机)
/node_modules/firebase-tools/node_modules/configstore/index.js:34:26)
在 Object.Configstore (/usr/local/lib/node_modules/firebase-tools/node_modules/configstore/index.js:27:44)
在新的 UpdateNotifier (/usr/local/lib/node_modules/firebase-tools/node_modules/update-notifier/index.js:34:17)
在 module.exports (/usr/local/lib/node_modules/firebase-tools/node_modules/ update-notifier/index.js:123:23)
在对象。(/usr/local/lib/node_modules/firebase-tools/bin/firebase:5:48)
在 Module._compile (module.js:409:26)
在 Object.Module._extensions..js (module.js:416:10)

到目前为止,我尝试过的所有内容(包括每条 CLIfirebase指令)都因无法访问而拒绝我。

我能做些什么?我应该尝试什么?

(我在 Mac OSX Yosemite v10.10.5 和 firebase-tools v3.0.3 上)

编辑:当我这样做时sudo firebase deploy,我收到以下错误。

错误:输入的凭据不正确。

我尝试了以下解决方案。

我试图删除问题文件然后重新安装firebase-tools

终端.sh
cd
cd .config/configstore
# Delete problematic files
rm firebase-tools.json
override rw-------  root/staff for firebase-tools.json? y
rm update-notifier-firebase-tools.json
override rw-------  root/staff for update-notifier-firebase-tools.json? y
# Reinstall firebase-tools
cd
sudo npm install -g firebase-tools

然后...

cd path/to/directory
cd firebase deploy

现在此文件生成错误:

/usr/local/lib/node_modules/firebase-tools/node_modules/configstore/index.js:53

cd /usr/local/lib/node_modules/firebase-tools/node_modules/configstore

4

9 回答 9

13

这看起来像是您安装了 npm 的模块的权限问题。这是很多开发人员遇到的问题,npm 实际上有一些关于如何解决它的文档。一旦你完成了,再试一次(你可能需要重新安装firebase-tools),一切都会好起来的。

于 2016-06-30T06:10:54.057 回答
13

sudo我通过在命令行开头添加来修复它!

于 2018-10-30T11:39:01.283 回答
4

sudo在命令之前添加它应该可以工作

sudo npm -g i firebase-tools
于 2020-08-01T01:45:37.663 回答
1

将更多细节扩展到@jacobawenger 提供的解决方案:

最强大的解决方案是安装 Homebrew 并让 Homebrew 为您管理 npm 包安装

终端.sh
# EACCESS error reference: https://docs.npmjs.com/getting-started/fixing-npm-permissions
# Install Homebrew # Reference: brew.sh # Ensures NPM is installed properly to avoid EACCESS errors
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# Install npm # Reference: brew.sh
brew install node
# Install firebase-tools
npm install -g firebase-tools # Non-recurring task # Also updates to newest version (see notice)
于 2016-06-29T04:27:41.757 回答
1

我有同样的问题,我通过chmod 755configstore目录中的所有文件进行修复来解决它

于 2016-09-21T07:48:55.423 回答
1

您可以尝试使用--unsafe-perm标志。像这样:

sudo npm install -g firebase-tools --unsafe-perm
于 2020-06-21T15:10:50.633 回答
0

尝试运行命令

苏根

如果您使用的是 ubuntu。对我来说,只是使用 sudo,没有用。我正在使用 Ubuntu 18.xx,我正在尝试通过 npm 安装 firebase

于 2019-12-03T14:14:23.887 回答
0

简单的方法:

备份您的计算机。

如果你有权限问题首先运行这个

 sudo chown -R $USER /usr/local/lib/node_modules

然后是第二

1)-  mkdir ~/.npm-global
2)-  npm config set prefix '~/.npm-global'
3)-  export PATH=~/.npm-global/bin:$PATH
4)-  source ~/.profile
5)-  npm install -g jshint
6)-  NPM_CONFIG_PREFIX=~/.npm-global
于 2019-12-31T11:18:37.480 回答
0

对我有用的基本上是使用节点版本管理器重新安装节点。为此,您只需以这种方式安装最新的节点 js 版本

就我而言,在此回复时,Node JS 的 LTS 版本是 v14.17.0,因此nvm use 14.17.0现在尝试重新运行构建。

于 2021-05-13T10:22:19.033 回答