[英]Error: EACCES: permission denied when running `npm install` on Elastic Beanstalk
[英]Error: EACCES: permission denied when trying to install ESLint using npm
我正在嘗試通過以下方式使用 npm 安裝ESLint :
npm install -g eslint
但是我收到以下錯誤:
Deans-Air:~ deangibson$ npm install -g eslint
npm ERR! tar.unpack untar error /Users/deangibson/.npm/eslint/2.4.0/package.tgz
npm ERR! Darwin 15.3.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "eslint"
npm ERR! node v4.2.3
npm ERR! npm v2.14.7
npm ERR! path /usr/local/lib/node_modules/eslint
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall mkdir
npm ERR! Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/eslint'
npm ERR! at Error (native)
npm ERR! { [Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/eslint']
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'mkdir',
npm ERR! path: '/usr/local/lib/node_modules/eslint',
npm ERR! fstream_type: 'Directory',
npm ERR! fstream_path: '/usr/local/lib/node_modules/eslint',
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/deangibson/npm-debug.log
老實說,我每次嘗試用 npm 安裝東西時都會得到這個。 有時使用 'sudo' 有效,有時則無效……我怎樣才能一勞永逸地解決這個問題?
在npm
install 中使用--unsafe-perm=true
和--allow-root
標志,如下所示:-
sudo npm install -g eslint --unsafe-perm=true --allow-root
它對我來說很有魅力。
這個問題在npm 文檔中有詳細記錄:修復 npm 權限。
您有 2 個可用的解決方案:
選項 1 :將 npm 的默認目錄更改為您的主文件夾中的隱藏目錄
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH
source ~/.profile
選項 2 :使用為您處理此問題的包管理器
brew install node
運行以下命令在安裝我的 packages.json 時為我解決了這個問題:
sudo npm install --unsafe-perm=true --allow-root
僅安裝導致問題的軟件包:
sudo npm install -g --unsafe-perm=true --allow-root eslint
試試這個命令
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules}
這將更改npm和其他一些工具(lib / node_modules,bin和share)使用的子文件夾的所有權。
更新
按照其他用戶的建議關注此鏈接 。
sudo npm install -g --unsafe-perm=true eslint
足夠了。
在 tns 之前使用sudo對我有用
例子:
sudo tns create Tekmo --template tns-template-hello-world
如果我使用過 sudo 然后沒有發現錯誤,比如創建postinstall.js
錯誤:EACCES:權限被拒絕
您可以使用sudo su
以 root 身份登錄。 首先在您的終端上運行命令sudo su
,然后提供您的登錄密碼。 最后執行您預期的命令npm install -g eslint
。 這個對我有用。
對於 MAC 用戶提供對項目目錄文件夾的訪問權限
伙計們,我已經簡單地修復了它
sudo npm install
我試過最好的答案,它也很好用。
npm install -g @ionic/cli native-run cordova-res
sudo apt update
sudo apt upgrade -y
我已經閱讀了已經存在的解決方案,但認為還有別的東西,UNSAFE 不是一個安全的關鍵字,哈哈。 在使用 --unsafe-perm=true 運行命令時,我注意到它下載了似乎是更新二進制文件的內容。 所以,我更新並再次嘗試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.