我正在尝试部署我的网络应用的Firebase托管。
在命令行中,当我键入firebase deploy
时,出现以下错误。
注意:firebase deploy
只是一个例子。所有firebase
命令都会出现相同的错误。 (例如,firebase --help
,firebase -v
,firebase login
,firebase 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
。
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
答案 0 :(得分:11)
这看起来像你安装了npm的模块的权限问题。这是许多开发人员遇到的问题,而npm实际上有some documentation on how to resolve it。完成后,再试一次(您可能需要重新安装firebase-tools
)并且事情应该有效。
答案 1 :(得分:1)
将更多细节扩展到@jacobawenger提供的解决方案:
Terminal.shpublic 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
现在尝试重新运行构建。