firebase-tools错误:EACCES:权限被拒绝

时间:2016-06-28 05:17:23

标签: unix firebase npm firebase-hosting firebase-tools

我正在尝试部署我的网络应用的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.fs.readFileSync(fs.js:397:15)   
在Object.create.all.get(/usr/local/lib/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 /本地/ LIB / node_modules /火力的工具/ bin中/火力:5:48)   
在Module._compile(module.js:409:26)   
在Object.Module._extensions..js(module.js:416:10)

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

我该怎么办?我该怎么办?

(我使用的是Mac OSX Yosemite v10.10.5和firebase-tools v3.0.3)

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

  

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

我尝试了以下解决方案。

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

Terminal.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

9 个答案:

答案 0 :(得分:11)

这看起来像你安装了npm的模块的权限问题。这是许多开发人员遇到的问题,而npm实际上有some documentation on how to resolve it。完成后,再试一次(您可能需要重新安装firebase-tools)并且事情应该有效。

答案 1 :(得分:1)

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

The most robust solution is to install Homebrew and let Homebrew manage the npm package installation for you

Terminal.sh
public class StackQuestions {
    private List<StackQuestion> items;

    public void setItems(List<StackQuestion> items){
        this.items = items;
    }
    public List<StackQuestions> getItems(){
        return this.items;
    }
}


public class StackQuestion{
    private Owner owner;

    public void setOwner(Owner owner){
        this.owner = owner;
    }
    public Owner getOwner(){
        return this.owner;
    }
}


public class Owner {

    @SerializedName("title")
    private String title;

    @SerializedName("view_count")
    private int numViews;

    @SerializedName("is_answered")
    private boolean solved;


    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public int getNumViews() {
        return numViews;
    }

    public void setNumViews(int numViews) {
        this.numViews = numViews;
    }

    public boolean isSolved() {
        return solved;
    }

    public void setSolved(boolean solved) {
        this.solved = solved;
    }

}

答案 2 :(得分:1)

我遇到了同样的问题,我通过对chmod 755目录中的所有文件执行configstore来解决此问题

答案 3 :(得分:1)

我通过在命令行开头添加sudo来解决此问题!

答案 4 :(得分:1)

在命令之前添加sudo应该可以使用

sudo npm -g i firebase-tools

答案 5 :(得分:0)

尝试以

身份运行命令
  

su root

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

答案 6 :(得分: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

答案 7 :(得分:0)

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

sudo npm install -g firebase-tools --unsafe-perm

答案 8 :(得分:0)

对我有用的基本上是使用节点版本管理器重新安装节点。 为此,您只需install latest node js version this way

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