pnpm 升級

pnpm 的安裝源太多了,感覺系統變量都有引入順序。

今天踩坑記錄:
pnpm ,如果最初用npm 裝的,可以用npm 升級;
如果最初用brew 裝的,得用brew 升級;
如果最初是用corepack 裝的得用corepack 升級;

由于項目需要,我今天直接:npm install -g pnpm@10.12.4

然后,就 Error: EACCES: permission denied, access ‘/usr/local/lib/node_modules’

在這里插入圖片描述

npm install -g pnpm@10.12.4
npm error code EACCES
npm error syscall mkdir
npm error path /usr/local/lib/node_modules/lib/node_modules/pnpm
npm error errno -13
npm error Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/lib/node_modules/pnpm'
npm error     at async mkdir (node:internal/fs/promises:859:10)
npm error     at async /usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:638:20
npm error     at async Promise.allSettled (index 0)
npm error     at async [reifyPackages] (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:336:11)
npm error     at async Arborist.reify (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:141:5)
npm error     at async Install.exec (/usr/local/lib/node_modules/npm/lib/commands/install.js:149:5)
npm error     at async Npm.exec (/usr/local/lib/node_modules/npm/lib/npm.js:208:9)
npm error     at async module.exports (/usr/local/lib/node_modules/npm/lib/cli/entry.js:67:5) {
npm error   errno: -13,
npm error   code: 'EACCES',
npm error   syscall: 'mkdir',
npm error   path: '/usr/local/lib/node_modules/lib/node_modules/pnpm'
npm error }
npm error
npm error The operation was rejected by your operating system.
npm error It is likely you do not have the permissions to access this file as the current user
npm error
npm error If you believe this might be a permissions issue, please double-check the
npm error permissions of the file and its containing directories, or try running
npm error the command again as root/Administrator.

改變文件的權限:

  1. First check who owns the directory
ls -la /usr/local/lib/node_modules

請添加圖片描述

它拒絕訪問,因為節點模塊文件夾歸root所有。
因此,需要將root更改為您的用戶,但首先運行下面的命令來檢查當前用戶

在控制臺輸入:id -un OR whoami
然后去改變owner

sudo chown -R $USER /usr/local/lib/
sudo chown -R $USER /usr/local/bin/
sudo chown -R $USER /usr/local/share/

再檢查文件所屬權:
請添加圖片描述

然后我再執行 sudo npm install -global pnpm

在這里插入圖片描述
呃,這。
腦子里忽然閃過一丟靈光,感覺是系統變量引入順序的問題。我看公司的這臺電腦里是裝了brewcorepack
我就試了試:brew 結果和 npm 升級 pnpm 一樣。

最后我試了試corepack

corepack enable pnpm
corepack use pnpm@latest-10

然后就好了

pnpm -v
10.12.4

然后我開始裝包:pnpm install
pnpm install gives no such file or directory, mkdir '/home/vsts error.

?ENOENT? ENOENT: no such file or directory, mkdir '/home/vsts'pnpm: ENOENT: no such file or directory, mkdir '/home/vsts'at async Object.mkdir (node:internal/fs/promises:859:10)at async createNewStoreController (/Users/edy/.cache/node/corepack/v1/pnpm/10.12.4/dist/pnpm.cjs:101790:7)

通過搜索找到答案:手動設置路徑:pnpm config set store-dir /path/to/pnpm/store/v3.
Make sure that the path actually exists.

參考資料:https://github.com/pnpm/pnpm/issues/4936

設置路徑后,再次裝包

pnpm no such file or directory, mkdir ‘/path’

?ENOENT? ENOENT: no such file or directory, mkdir '/path'pnpm: ENOENT: no such file or directory, mkdir '/path'at async Object.mkdir (node:internal/fs/promises:859:10)at async createNewStoreController (/Users/edy/.cache/node/corepack/v1/pnpm/10.12.4/dist/pnpm.cjs:101790:7)at async installDeps (/Users/edy/.cache/node/corepack/v1/pnpm/10.12.4/dist/pnpm.cjs:159048:21)

找到答案:pnpm config set store-dir ~/pnpm

參考資料:https://blog.csdn.net/qq_37655530/article/details/129228561

哎,終于搞好了。

參考資料:
https://stackoverflow.com/questions/48910876/error-eacces-permission-denied-access-usr-local-lib-node-modules

https://github.com/pnpm/pnpm/issues/4936

https://blog.csdn.net/qq_37655530/article/details/129228561

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/87922.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/87922.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/87922.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[C#] WPF - 資源URI

一、組成 1、資源URI總共包括4個部分(當前程序集可以省略前3個): ①:pack://application:,,, ②:/[程序集名稱] ③:;Component ④:/[資源路徑] 二、舉例 項目結構如下圖所示: 1、MainWindow.xaml 文件…

【Mysql系列】Mysql 多級隔離級別揭秘

目錄 一、什么是隔離級別 1.1、為什么復合操作需要事務? 1.2、事務的 ACID 特性如何保障操作可靠性? 1.3、隔離性通過隔離級別來控制 二、為什么用多級隔離級別 2.1、事務并發執行時可能引發以下問題 2.1.1、臟讀(Dirty Read&#xff…

odoo17 警示: selection attribute will be ignored as the field is related

在 Odoo 17 中,當使用 related 字段時,直接在 fields.Selection 中指定選擇列表會被忽略(因為選擇項會從關聯字段繼承)。wtd_fuwlx fields.Selection(服務類型 , relatedwtd_id.fuwlx, storeTrue)遇到了一個警告,提示…

gemma-3n-E2B多模態模型使用案例:支持文本、圖像、語音輸入

參考: https://developers.googleblog.com/en/introducing-gemma-3n-developer-guide/下載: https://modelscope.cn/models/google/gemma-3n-E2B-it 模型下載 運行代碼: https://github.com/huggingface/huggingface-gemma-recipes 微調&…

計算機網絡實驗——互聯網安全實驗

實驗1. OSPF路由項欺騙攻擊和防御實驗一、實驗目的驗證路由器OSPF配置過程。驗證OSPF建立動態路由項過程。驗證OSPF路由項欺騙攻擊過程。驗證OSPF源端鑒別功能的配置過程。驗證OSPF防路由項欺騙攻擊功能的實現過程。二、實驗任務使用自己的語言簡述該實驗原理。如圖1所示的網絡…

Pytorch中torch.where()函數詳解和實戰示例

torch.where() 是 PyTorch 中非常常用的一個函數,功能類似于 NumPy 的 where,用于條件篩選或三元選擇操作。在深度學習訓練、掩碼操作、損失函數處理等場景中非常常見。一、基本語法 torch.where(condition, x, y)condition:一個布爾張量&…

基于Hadoop的公共自行車數據分布式存儲和計算平臺的設計與實現

文章目錄 有需要本項目的代碼或文檔以及全部資源,或者部署調試可以私信博主項目介紹:基于Hadoop的公共自行車數據分布式存儲與計算平臺設計與實現數據介紹數據預處理 Hadoop 集群的幾個主要節點介紹1. NameNode(主節點)2. DataNod…

Java項目:基于SSM框架實現的程序設計課程可視化教學系統【ssm+B/S架構+源碼+數據庫+畢業論文】

摘 要 使用舊方法對程序設計課程可視化教學信息進行系統化管理已經不再讓人們信賴了,把現在的網絡信息技術運用在程序設計課程可視化教學信息的管理上面可以解決許多信息管理上面的難題,比如處理數據時間很長,數據存在錯誤不能及時糾正等問題…

Unity 實現 NPC 隨機漫游行為的完整指南

在游戲開發中,NPC(非玩家角色)的行為邏輯對于營造真實、沉浸式的游戲世界至關重要。一個常見但又極具表現力的需求是:讓 NPC 在場景中自然地隨機移動,仿佛它們有自己的意識和目的地。 本文將詳細介紹如何使用 Unity 的…

重新學習Vue中的按鍵監聽和鼠標監聽

文章目錄按鍵事件1. 使用 keyup.enter 修飾符2. 使用 v-on 監聽鍵盤事件3. 在組件上監聽原生事件Vue 2Vue 34. 全局監聽鍵盤事件注意事項鼠標事件1. 基本鼠標事件監聽常用鼠標事件2. 事件修飾符3. 鼠標按鍵檢測4. 鼠標位置信息5. 自定義指令監聽鼠標事件6. 組合鼠標事件7. 性能…

vue2啟動問題以及解決方案

vue2啟動時:ERROR Invalid options in vue.config.js: "typescript.validate.enable" is not allowed如果需要在 VSCode 中控制 TypeScript 驗證:在項目根目錄創建 .vscode/settings.json 文件(如不存在)添加以下配置&a…

Vue響應式系統:從原理到核心API全解析

響應式原理 響應式機制的主要功能就是,可以把普通的JavaScript對象封裝成為響應式對象,攔截數據的讀取和設置操作,實現依賴數據的自動化更新。 Q: 如何才能讓JavaScript對象變成響應式對象? 首先需要認識響應式數據和副作用函數…

水下目標檢測:突破與創新

水下目標檢測技術背景 水下環境帶來獨特挑戰:光線衰減導致對比度降低,散射引發圖像模糊,色偏使顏色失真。動態水流造成目標形變,小目標(如1010像素海膽)檢測困難。聲吶與光學數據融合可提升精度&#xff0…

高通SG882G平臺(移遠):2、使用docker鏡像編譯

其實之前已經編譯過了。今日搜索時發現,只有當時解決問題的匯總,沒有操作步驟。于是記錄下來。 建議使用Ubuntu20 LTS。 安裝docker $ sudo apt update $ sudo apt install docker.io $ sudo docker -v Docker version 27.5.1, build 27.5.1-0ubuntu3…

輕松上手:使用Nginx實現高效負載均衡

接上一篇《輕松上手:Nginx服務器反向代理配置指南》后,我們來探討一下如何使用Nginx實現高效負載均衡。 在當今高并發、大流量的互聯網環境下,單臺服務器早已無法滿足業務需求。想象一下:一次電商平臺的秒殺活動、一個熱門應用的…

身份證號碼+姓名認證接口-身份證二要素核驗

身份證號實名認證服務接口采用身份證號碼、姓名二要素核驗的方式,能夠快速確認用戶身份。無論是新用戶注冊,還是老用戶重要操作的身份復核,只需輸入姓名及身份證號,瞬間即可得到 “一致” 或 “不一致” 的核驗結果。這一過程高效…

自動駕駛基本概念

目錄 自動駕駛汽車(Autonomous Vehicles ) 單車智能 車聯網 智能網聯(單車智能車聯網) 自動駕駛關鍵技術 環境感知與定位 車輛運動感知 車輛運動感知 路徑規劃與決策 自動駕駛發展歷程 自動駕駛應用場景 自動駕駛路測…

提示詞框架(10)--COAST

目前,有很多提示詞框架都叫COAST,但是每個的解釋都不同,出現很了很多解釋和演化版本,不要在意這些小事,我們都是殊途同歸--讓AI更好的完成任務COAST框架,比較適合需要詳細背景和技術支持的任務,…

基于selenium實現大麥網自動搶票腳本教程

閑來無事,打開大麥網發現現在大多數演唱票都需要手機端才能搶票,僅有很少一部分支持pc端用網頁去搶票,但正所謂:道高一尺,魔高一丈,解決這個反爬問題,我們可以采用Airtest連接仿真機來模擬手機端…

2048小游戲實現

2048小游戲實現 將創建一個完整的2048小游戲,包含游戲核心邏輯和美觀的用戶界面。設計思路 4x4網格布局響應式設計,適配不同設備分數顯示和最高分記錄鍵盤控制(方向鍵)和觸摸滑動支持游戲狀態提示(勝利/失敗&#xff0…