"npm ERR! Error: EPERM: operation not permitted"問題解決


在基於macaca進行自動化測試的時候,遇到如下問題:

E:\AutoTest\Macaca\LocalTEST\macaca-test-sample\macaca-test>macaca doctor

  Node.js checklist:

  node env: C:\Program Files\nodejs\node.exe
  node version: v6.3.0

  Android checklist:

  JAVA version is `1.8.0_91`
  JAVA_HOME is set to `C:\Program\JAVA\jdk1.8.0_91`
  ANDROID_HOME is set to `E:\CodeSpace\ANDROID\android-sdk-windows`
  Platforms is set to `E:\CodeSpace\ANDROID\android-sdk-windows\platforms\android-24`
  Android tools is set to `E:\CodeSpace\ANDROID\android-sdk-windows\tools\android.bat`
  ANT_HOME is set to `C:\Program\ANT\apache-ant-1.9.7`

  Installed driver list:

  ios: 1.0.31

E:\AutoTest\Macaca\LocalTEST\macaca-test-sample\macaca-test>npm i npm ERR! Windows_NT 10.0.10586 npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "i" npm ERR! node v6.3.0 npm ERR! npm v3.10.3 npm ERR! path C:\Program Files\nodejs\node-cache\_locks npm ERR! code EPERM npm ERR! errno -4048 npm ERR! syscall mkdir npm ERR! Error: EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs\node-cache\_locks' npm ERR! at Error (native) npm ERR! { Error: EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs\node-cache\_locks' npm ERR! at Error (native) npm ERR! errno: -4048, npm ERR! code: 'EPERM', npm ERR! syscall: 'mkdir', npm ERR! path: 'C:\\Program Files\\nodejs\\node-cache\\_locks' } 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! E:\AutoTest\Macaca\LocalTEST\macaca-test-sample\macaca-test\npm-debug.log E:\AutoTest\Macaca\LocalTEST\macaca-test-sample\macaca-test>

重點是這里的:npm ERR! Error: EPERM: operation not permitted

其實就是權限問題,猜測使用管理員權限應該OK,試了一下,確實如此;

解決辦法:

1.最簡單的方法如下:

windows  +  X 組合鍵就可以打開下圖
無標題.png
選擇要管理員運行的請選框起來的第二個也可以按windows+x+a

 

2.或者,使用搜索cmd,打開之后,選擇"使用管理員權限運行CMD";

但問題是,這種方式需要每次都這樣打開,我希望默認能夠就是管理員方式運行。其實也有一勞永逸的方法,如下;

 

3.修改注冊表;

Win+R --輸入 regedit,打開注冊表,找到以下位置:

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

,新建一個字符串值,命名為"c:\windows\system32\cmd.exe",一般情況下,cmd.exe都安裝在C盤

然后右鍵--修改 -- 數值數據寫入“RUNASADMIN”,確定 !

 

或者,也可以采用注冊表導入的方式操作,如下:

直接復制下面內容(系統安裝在C盤32位為准):

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"c:\\windows\\system32\\cmd.exe"="RUNASADMIN"

打開記事本,復制粘貼入以上代碼,另存為hao.reg,然后雙擊導入注冊表即可。

OK,這下我們Win+R輸入cmd,啟動時就已經默認是管理員身份了。

 

4.修改文件目錄所有者:

進入nodejs的安裝目錄 (默認是 C:\Program Files\nodejs),或者C:\Program Files;

在nodejs上右鍵打開屬性;

選擇安全-->高級,這時候會看到所有這是SYSTEM,選擇"修改";
輸入你目前的賬戶名稱,並檢查OK之后,OK保存;

再次打開驗證;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM