1. 程式人生 > 其它 >NodeJS安裝、NPM包下載路徑及NPM INSTALL ERROR 4048問題的解決方式

NodeJS安裝、NPM包下載路徑及NPM INSTALL ERROR 4048問題的解決方式

一、Node.js的下載安裝

這一步比較簡單,開啟官網Node.js (nodejs.org),下載LTS版本,選擇合適的安裝目錄安裝即可。

安裝好後開啟CMD命令列,檢視安裝是否成功。

C:>Users>wangzhihuang>node -v
v14.17.5
C:>Users>wangzhihuang>npm -v
6.14.14

二、NPM依賴包下載路徑設定

為什麼要設定?原因很簡單,第一是為了更好管理我們的磁碟空間,第二是可以很方便找到依賴包的存放路徑。

在Node安裝目錄下新建兩個資料夾,node_cache和node_global,從資料夾名稱我們知道資料夾的作用。

接著,在命令列中設定全域性包下載路徑和快取路徑

npm config set prefix "D:\ProgramFiles\NodeJS\node_global"
npm config set cache "D:\ProgramFiles\NodeJS\node_cache"

這時如果我們開啟使用者目錄“C:\Users\wangzhihuang”會發現改目錄下多了".npmrc"隱藏檔案,這就是NPM的配置檔案

prefix=D:\ProgramFile\NodeJS\node_global
cache=D:\ProgramFile\NodeJS\node_cache

到這一步還沒有結束,還需要配置環境變數,將Node JS安裝目錄下的node_global、node_module新增到PATH中即可。

三、NPM INSTALL ERROR 4048

在完成前面的步驟後,我們使用npm下載依賴包時會發現依然存在錯誤。

PS C:\Users\wangzhihuang\OneDrive\Coding\Echarts> npm install echarts -S
npm ERR! code EPERM
npm ERR! syscall open
npm ERR! path D:\ProgramFile\NodeJS\node_cache\_cacache\tmp\495c736f
npm ERR! errno -4048
npm ERR! Error: EPERM: operation not permitted, open 'D:\ProgramFile\NodeJS\node_cache\_cacache\tmp\495c736f'
npm ERR!  [OperationalError: EPERM: operation not permitted, open 'D:\ProgramFile\NodeJS\node_cache\_cacache\tmp\495c736f'] {
npm ERR!   cause: [Error: EPERM: operation not permitted, open 'D:\ProgramFile\NodeJS\node_cache\_cacache\tmp\495c736f'] {
npm ERR!     code: 'EPERM',
npm ERR!     syscall: 'open',
npm ERR!     path: 'D:\\ProgramFile\\NodeJS\\node_cache\\_cacache\\tmp\\495c736f'
npm ERR!   },
npm ERR!   isOperational: true,
npm ERR!   errno: -4048,
npm ERR!   code: 'EPERM',
npm ERR!   syscall: 'open',
npm ERR!   path: 'D:\\ProgramFile\\NodeJS\\node_cache\\_cacache\\tmp\\495c736f'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It's possible that the file was already in use (by a text editor or antivirus),
npm ERR! or that you lack permissions to access it.
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

通過提示資訊我們可以知道,是使用者許可權問題導致檔案無法寫入,因此我們要對當前使用者操作NodeJS的目錄的許可權進行提升。

有兩種解決辦法,一是用管理員許可權開啟CMD或PowerShell視窗

二是對NodeJS目錄中node_cache和node_global的使用者使用許可權進行設定,如下圖所示。

設定好後我們再進行測試,發現能成功下載,問題到此解決。

PS C:\Users\wangzhihuang\Desktop> npm install express -g
+ [email protected]
added 50 packages from 37 contributors in 4.46s