[英]firebase-tools error: EACCES: permission denied
我正在嘗試部署 Firebase 托管我的 web 應用程序。
在命令行中,當我鍵入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)
在 Object。(/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)
到目前為止,我嘗試過的所有操作(包括每條 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
我通過在命令行開頭添加sudo
來修復它!
這看起來像是您安裝了 npm 的模塊的權限問題。 這是很多開發人員遇到的問題,npm 實際上有 一些關於如何解決它的文檔。 一旦你完成了,再試一次(你可能需要重新安裝firebase-tools
),一切都會好起來的。
在命令之前添加sudo
它應該可以工作
sudo npm -g i firebase-tools
將更多細節擴展到@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)
我有同樣的問題,我通過對configstore
目錄中的所有文件執行chmod 755
來修復它
您可以嘗試使用--unsafe-perm
標志。 像這樣:
sudo npm install -g firebase-tools --unsafe-perm
嘗試運行命令
蘇根
如果您使用的是 ubuntu。 對我來說,只是使用 sudo,沒有用。 我正在使用 Ubuntu 18.xx,我正在嘗試通過 npm 安裝 firebase
簡單的方法:
備份您的計算機。
如果你有權限問題首先運行這個
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
對我有用的基本上是使用節點版本管理器重新安裝節點。 為此,您只需以這種方式安裝最新的節點 js 版本
就我而言,在此回復時,Node JS 的 LTS 版本是 v14.17.0,因此nvm use 14.17.0
現在嘗試重新運行構建。
我有同樣的問題,我使用這個命令( curl -sL firebase.tools | upgrade=true bash )修復了它
我最近遇到了同樣的問題。 運行這個命令為我解決了這個問題
sudo chown -R $USER ~/.config/configstore
有信息解釋了為什么 sudo 命令會有所不同,通常,當我們在終端模式下調用命令時,我們不會被識別為計算機管理員,而某些命令僅供管理員使用。 sudo 命令使終端命令能夠以管理員身份執行。 您可以在此處閱讀有關 sudo 命令的信息:)
感謝您為解決此問題所做的貢獻。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.