pnpm install報錯:此系統上禁止運行腳本

依賴安裝

報錯信息:

pnpm : 無法加載文件 C:\Users\XXX\AppData\Roaming\npm\pnpm.ps1,因為在此系統上禁止運行腳本。有關詳細信息,請參閱 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ pnpm install
+ ~~~~
? ? + CategoryInfo ? ? ? ? ?: SecurityError: (:) [],PSSecurityException
? ? + FullyQualifiedErrorId : UnauthorizedAccess

解決辦法:

PS D:\code\github\langmanus-web> Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

詳細根因分析:

命令 `Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned` 用于配置 PowerShell 的執行策略,具體含義如下:

**1. 核心功能**
? `-ExecutionPolicy RemoteSigned`:設置執行策略為 RemoteSigned ?

? ? 本地腳本:允許無限制運行當前用戶編寫的腳本(如 `.ps1` 文件)。 ?

? ? 遠程腳本:要求從互聯網下載的腳本必須由受信任的發布者進行數字簽名,否則會被阻止執行。 ?

? ? *安全性平衡*:既能滿足日常開發需求(運行本地腳本),又避免惡意遠程腳本攻擊。


? `-Scope CurrentUser`:限定策略生效范圍 ?

? ? 僅影響當前用戶:策略修改僅對當前登錄的 Windows 用戶有效,不會影響其他用戶或系統全局設置。 ?

? ? *非管理員友好*:無需管理員權限即可完成配置。

**2. 技術細節**
? 持久性:策略會被寫入注冊表 `HKEY_CURRENT_USER\SOFTWARE\Microsoft\PowerShell\1\ShellIds`,在用戶注銷或重啟后依然有效。

? 優先級規則: ?

? ? 當多個作用域(如 `LocalMachine` 和 `CurrentUser`)存在沖突策略時,`CurrentUser` 的配置會覆蓋全局設置。 ?

? ? 可通過 `Get-ExecutionPolicy -List` 查看所有作用域的優先級順序。

? 與組策略的關系:若企業通過組策略強制設置了執行策略(如 `MachinePolicy` 或 `UserPolicy`),此命令可能無效。

**3. 典型應用場景**
1. 開發者環境配置 ?
? ?? 允許運行本地開發的 PowerShell 腳本(如自動化腳本、CI/CD 工具鏈)。 ?

? ?? 例如安裝 Scoop 包管理器時需臨時放寬策略限制。


2. 安全受限環境 ?
? ?? 在需要限制遠程腳本但允許內部腳本的場景中,替代完全開放的 `Unrestricted` 策略。


3. 多用戶隔離 ?
? ?? 同一臺計算機上,不同用戶可獨立配置策略(如管理員保持嚴格策略,開發者使用寬松策略)。

**4. 注意事項**
? 權限要求:修改 `CurrentUser` 范圍無需管理員權限,但首次操作可能需要用戶確認。

? 臨時會話策略:若需僅對當前 PowerShell 會話生效(不保存到注冊表),可用 `-Scope Process`。

? 恢復默認策略:執行 `Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Undefined` 可刪除用戶級策略。

通過此命令,用戶可以在保障安全性的前提下靈活控制腳本執行權限。如需驗證當前策略,可運行 `Get-ExecutionPolicy -Scope CurrentUser`。

啟動

報錯

pnpm dev
? Invalid environment variables: { NEXT_PUBLIC_API_URL: [ 'Required' ] }
file:///D:/code/github/langmanus-web/node_modules/.pnpm/@t3-oss+env-core@0.10.1_typescript@5.8.2_zod@3.24.2/node_modules/@t3-oss/env-core/dist/index.js:29
? ? ? ? throw new Error("Invalid environment variables");
? ? ? ? ? ? ? ^

Error: Invalid environment variables
? ? at onValidationError (file:///D:/code/github/langmanus-web/node_modules/.pnpm/@t3-oss+env-core@0.10.1_typescript@5.8.2_zod@3.24.2/node_modules/@t3-oss/env-core/dist/index.js:29:15)
? ? at createEnv (file:///D:/code/github/langmanus-web/node_modules/.pnpm/@t3-oss+env-core@0.10.1_typescript@5.8.2_zod@3.24.2/node_modules/@t3-oss/env-core/dist/index.js:35:16)
? ? at createEnv (file:///D:/code/github/langmanus-web/node_modules/.pnpm/@t3-oss+env-nextjs@0.10.1_typescript@5.8.2_zod@3.24.2/node_modules/@t3-oss/env-nextjs/dist/index.js:12:12)
? ? at file:///D:/code/github/langmanus-web/src/env.js:4:20
? ? at ModuleJob.run (node:internal/modules/esm/module_job:271:25)
? ? at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:547:26)
? ? at async loadConfig (D:\code\github\langmanus-web\node_modules\.pnpm\next@15.2.2_react-dom@18.3.1_react@18.3.1__react@18.3.1\node_modules\next\dist\server\config.js:964:36)
? ? at async Module.nextDev (D:\code\github\langmanus-web\node_modules\.pnpm\next@15.2.2_react-dom@18.3.1_react@18.3.1__react@18.3.1\node_modules\next\dist\cli\next-dev.js:190:14)

Node.js v22.12.0
?ELIFECYCLE??Command failed with exit code 1.

解決方案1:


PS D:\code\github\langmanus-web> echo "NEXT_PUBLIC_API_URL=http://localhost:3000" > .env.local


PS D:\code\github\langmanus-web> pnpm dev
> next dev --turbo

? Invalid environment variables: { NEXT_PUBLIC_API_URL: [ 'Required' ] }
file:///D:/code/github/langmanus-web/node_modules/.pnpm/@t3-oss+env-core@0.10.1_typescript@5.8.2_zod@3.24.2/node_modules/@t3-oss/env-core/dist/index.js:29
? ? ? ? throw new Error("Invalid environment variables");
? ? ? ? ? ? ? ^

Error: Invalid environment variables
? ? at onValidationError (file:///D:/code/github/langmanus-web/node_modules/.pnpm/@t3-oss+env-core@0.10.1_typescript@5.8.2_zod@3.24.2/node_modules/@t3-oss/env-core/dist/index.js:29:15)
? ? at createEnv (file:///D:/code/github/langmanus-web/node_modules/.pnpm/@t3-oss+env-core@0.10.1_typescript@5.8.2_zod@3.24.2/node_modules/@t3-oss/env-core/dist/index.js:35:16)
? ? at createEnv (file:///D:/code/github/langmanus-web/node_modules/.pnpm/@t3-oss+env-nextjs@0.10.1_typescript@5.8.2_zod@3.24.2/node_modules/@t3-oss/env-nextjs/dist/index.js:12:12)
? ? at file:///D:/code/github/langmanus-web/src/env.js:4:20
? ? at ModuleJob.run (node:internal/modules/esm/module_job:271:25)
? ? at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:547:26)
? ? at async loadConfig (D:\code\github\langmanus-web\node_modules\.pnpm\next@15.2.2_react-dom@18.3.1_react@18.3.1__react@18.3.1\node_modules\next\dist\server\config.js:964:36)
? ? at async Module.nextDev (D:\code\github\langmanus-web\node_modules\.pnpm\next@15.2.2_react-dom@18.3.1_react@18.3.1__react@18.3.1\node_modules\next\dist\cli\next-dev.js:190:14)

Node.js v22.12.0
?ELIFECYCLE??Command failed with exit code 1.

解決方案2:


PS D:\code\github\langmanus-web> echo NEXT_PUBLIC_API_URL=http://localhost:3000 > .env


PS D:\code\github\langmanus-web> pnpm dev
> langmanus-web@0.1.0 dev D:\code\github\langmanus-web
> next dev --turbo

? Invalid environment variables: { NEXT_PUBLIC_API_URL: [ 'Required' ] }
file:///D:/code/github/langmanus-web/node_modules/.pnpm/@t3-oss+env-core@0.10.1_typescript@5.8.2_zod@3.24.2/node_modules/@t3-oss/env-core/dist/index.js:29
? ? ? ? throw new Error("Invalid environment variables");
? ? ? ? ? ? ? ^
? ? at onValidationError (file:///D:/code/github/langmanus-web/node_modules/.pnpm/@t3-oss+env-core@0.10.1_typescript@5.8.2_zod@3.24.2/node_modules/@t3-oss/env-core/dist/index.js:29:15)
? ? at createEnv (file:///D:/code/github/langmanus-web/node_modules/.pnpm/@t3-oss+env-core@0.10.1_typescript@5.8.2_zod@3.24.2/node_modules/@t3-oss/env-core/dist/index.js:35:16)
? ? at createEnv (file:///D:/code/github/langmanus-web/node_modules/.pnpm/@t3-oss+env-nextjs@0.10.1_typescript@5.8.2_zod@3.24.2/node_modules/@t3-oss/env-nextjs/dist/index.js:12:12)
? ? at file:///D:/code/github/langmanus-web/src/env.js:4:20
? ? at ModuleJob.run (node:internal/modules/esm/module_job:271:25)
? ? at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:547:26)
? ? at async loadConfig (D:\code\github\langmanus-web\node_modules\.pnpm\next@15.2.2_react-dom@18.3.1_react@18.3.1__react@18.3.1\node_modules\next\dist\server\config.js:964:36)
? ? at async Module.nextDev (D:\code\github\langmanus-web\node_modules\.pnpm\next@15.2.2_react-dom@18.3.1_react@18.3.1__react@18.3.1\node_modules\next\dist\cli\next-dev.js:190:14)

Node.js v22.12.0
?ELIFECYCLE??Command failed with exit code 1.


解決方案3:


?
PS D:\code\github\langmanus-web> echo "NEXT_PUBLIC_API_URL=http://localhost:3000" > .env.development


PS D:\code\github\langmanus-web> pnpm dev
> next dev --turbo

? Invalid environment variables: { NEXT_PUBLIC_API_URL: [ 'Required' ] }
file:///D:/code/github/langmanus-web/node_modules/.pnpm/@t3-oss+env-core@0.10.1_typescript@5.8.2_zod@3.24.2/node_modules/@t3-oss/env-core/dist/index.js:29
? ? ? ? throw new Error("Invalid environment variables");
? ? ? ? ? ? ? ^

Error: Invalid environment variables
? ? at onValidationError (file:///D:/code/github/langmanus-web/node_modules/.pnpm/@t3-oss+env-core@0.10.1_typescript@5.8.2_zod@3.24.2/node_modules/@t3-oss/env-core/dist/index.js:29:15)
? ? at createEnv (file:///D:/code/github/langmanus-web/node_modules/.pnpm/@t3-oss+env-core@0.10.1_typescript@5.8.2_zod@3.24.2/node_modules/@t3-oss/env-core/dist/index.js:35:16)
? ? at createEnv (file:///D:/code/github/langmanus-web/node_modules/.pnpm/@t3-oss+env-nextjs@0.10.1_typescript@5.8.2_zod@3.24.2/node_modules/@t3-oss/env-nextjs/dist/index.js:12:12)
? ? at file:///D:/code/github/langmanus-web/src/env.js:4:20
? ? at ModuleJob.run (node:internal/modules/esm/module_job:271:25)
? ? at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:547:26)
? ? at async loadConfig (D:\code\github\langmanus-web\node_modules\.pnpm\next@15.2.2_react-dom@18.3.1_react@18.3.1__react@18.3.1\node_modules\next\dist\server\config.js:964:36)
? ? at async Module.nextDev (D:\code\github\langmanus-web\node_modules\.pnpm\next@15.2.2_react-dom@18.3.1_react@18.3.1__react@18.3.1\node_modules\next\dist\cli\next-dev.js:190:14)

Node.js v22.12.0
?ELIFECYCLE??Command failed with exit code 1.

解決方案4:(有效方案)


PS D:\code\github\langmanus-web> echo NEXT_PUBLIC_API_URL=http://localhost:3000 | Out-File -FilePath .env.local -Encoding UTF8 -NoNewline


PS D:\code\github\langmanus-web> pnpm dev

> langmanus-web@0.1.0 dev D:\code\github\langmanus-web
> next dev --turbo

?? Port 3000 is in use, trying 3001 instead.
? ?▲ Next.js 15.2.2 (Turbopack)
? ?- Local: ? ? ? ?http://localhost:3001
? ?- Network: ? ? ?http://10.239.20.117:3001
? ?- Environments: .env.local, .env.development, .env
? ?- Experiments (use with caution):
? ? ?· turbo

?? Starting...
Slow filesystem detected. If D:\code\github\langmanus-web\.next is a network drive, consider moving it to a local folder. If you have an antivirus enabled, consider excluding your project directory.
?? Ready in 1451ms

命令含義

該命令是一個 PowerShell 腳本命令,用于將環境變量寫入 `.env.local` 文件,具體解析如下:

---

**核心功能解析**
1. `echo NEXT_PUBLIC_API_URL=http://localhost:3000` ?
? ?? 通過 `echo` 命令輸出字符串 `NEXT_PUBLIC_API_URL=http://localhost:3000`,表示定義環境變量 `NEXT_PUBLIC_API_URL` 并賦值為 `http://localhost:3000`。

? ?? 該環境變量通常用于前端框架(如 Next.js)中配置 API 基礎地址。


2. `| Out-File -FilePath .env.local` ?
? ?? 使用管道符 `|` 將 `echo` 的輸出重定向到 `Out-File` 命令,將內容寫入 `.env.local` 文件。

? ?? `.env.local` 是 Next.js 等框架的本地環境變量配置文件,用于存儲敏感或開發專用的配置。


3. `-Encoding UTF8` ?
? ?? 指定文件編碼為 UTF-8,確保特殊字符(如中文)正確保存。


4. `-NoNewline` ?
? ?? 禁止在文件末尾自動添加換行符,防止因換行符導致環境變量解析錯誤。


?

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

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

相關文章

第9章 多模態大語言模型

??????第1章 對大型語言模型的介紹第2章 分詞和嵌入第3章 解析大型語言模型的內部機制第4章 文本分類第5章 文本聚類與主題建模第6章 提示工程第7章 高級文本生成技術與工具第8章 語義搜索與檢索增強生成第10章 構建文本嵌入模型第11章 面向分類任務的表示模型微調第12章…

Python 繪圖代碼解析:用 Turtle 和 Colorsys 打造絢麗圖案

注:本文為作者原創文章,未經許可禁止轉載。 Python 繪圖代碼解析:用 Turtle 和 Colorsys 打造絢麗圖案 在 Python 的世界里,有許多有趣的庫可以用來創造精美的圖形。今天,我們就來詳細剖析一段使用turtle庫和colorsys庫的代碼,看看它是如何繪制出獨特圖案的。 一、庫的導…

RTMP 入門指南

1. RTMP 基礎概念?? ??核心角色??: ??推流端(Publisher)??:將音視頻數據推送到服務器的設備(如OBS、手機APP)。??服務器(RTMP Server)??:接收推流并分發給…

Java Stream流 常用方法

Map 修改 用于修改集合里的值 public void findData(){ArrayList<String> list new ArrayList<>();list.add("張三");list.add("李四");List<String> collect list.stream().map(s -> s "a").collect(Collectors.toLi…

巧記英語四級單詞 Unit5-上【曉艷老師版】

count 數&#xff0c; counter n.計算器&#xff0c;柜臺 a.相反的 數數的東西就是計算器&#xff0c;在哪數&#xff0c;在柜臺里面數&#xff1b;你和售貨員的關系就是相反的(一個買貨&#xff0c;一個賣貨account n.賬戶&#xff0c;賬號 一再的數accountant n.會計 一再的…

Git多人協作與企業級開發模型

目錄 1.多人協作一 2.多人協作二 3.遠程分?刪除后&#xff0c;本地gitbranch-a依然能看到的解決辦法 4.企業級開發模型 4.1.Git的重要性 4.2.系統開發環境 4.3.Git 分?設計規范 1.多人協作一 ?前&#xff0c;我們所完成的?作如下&#xff1a; 基本完成Git的所有本…

大眾點評 mtgsig1.2 分析 mtgsig

聲明 本文章中所有內容僅供學習交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包內容、敏感網址、數據接口等均已做脫敏處理&#xff0c;嚴禁用于商業用途和非法用途&#xff0c;否則由此產生的一切后果均與作者無關&#xff01; 逆向過程 部分代碼 params[yodaRead…

(三) Trae 調試C++ 基本概念

調試C基本概念 一、調試基礎概念1.1 調試信息格式1.2 DWARF格式和PDB格式生成(圖解)1.3.典型工具鏈和調試信息 二、各工具鏈深度解析1. Clang 與 G 的 DWARF 差異 三 調試工具3.1 調試工具3.2 調試插件(Trae) 一、調試基礎概念 1.1 調試信息格式 格式類型適用系統存在形式DWA…

Flink部署與應用——部署方式介紹

引入 我們通過Flink相關論文的介紹&#xff0c;對于Flink已經有了初步理解&#xff0c;這里簡單的梳理一下Flink常見的部署方式。 Flink 的部署方式 StandAlone模式 介紹 StandAlone模式是Flink框架自帶的分布式部署模式&#xff0c;不依賴其他的資源調度框架&#xff0c…

【智慧城市】新中地GIS開發實訓:基于 Vue 框架的武漢智慧旅游系統

首頁 地球自轉頁 控制臺頁 景點信息頁 天氣預報頁 路線規劃頁 查詢頁 AI問答頁 熱力圖頁 測量頁 來源&#xff1a; 【智慧城市】新中地GIS開發實訓&#xff1a;優秀學生項目作品&#xff08;58&#xff09;基于 Vue 框架的武漢智慧旅游系統

C++入侵檢測與網絡攻防之網絡嗅探以及ARP攻擊

目錄 1.tcpdump基本使用 2.tcpdump條件過濾 3.wireshark介紹 4.wireshark的介紹 5.tcp握手揮手分析 6.telnet服務的介紹和部署 7.復習 8.telnet服務的報文嗅探 9.網絡嗅探基礎 10.arp協議的解析 11.arp攻擊原理以及試驗環境 12.arp實驗以及防御方式 1.tcpdump基本使…

【數據可視化-28】2017-2025 年每月產品零售價數據可視化分析

&#x1f9d1; 博主簡介&#xff1a;曾任某智慧城市類企業算法總監&#xff0c;目前在美國市場的物流公司從事高級算法工程師一職&#xff0c;深耕人工智能領域&#xff0c;精通python數據挖掘、可視化、機器學習等&#xff0c;發表過AI相關的專利并多次在AI類比賽中獲獎。CSDN…

系統與網絡安全------彈性交換網絡(3)

資料整理于網絡資料、書本資料、AI&#xff0c;僅供個人學習參考。 STP協議 環路的危害 單點故障 PC之間的互通鏈路僅僅存在1個 任何一條鏈路出現問題&#xff0c;PC之間都會無法通信 解決辦法 提高網絡可靠性 增加冗余/備份鏈路 增加備份鏈路后交換網絡上產生二層環路 …

廣州 3D 展廳開啟企業展示新時代?

為了突破傳統展廳的局限&#xff0c;滿足企業日益增長的展示需求&#xff0c;3D 展廳應運而生。3D 展廳是利用虛擬現實&#xff08;VR&#xff09;、增強現實&#xff08;AR&#xff09;和三維建模等先進技術&#xff0c;構建出的一個高度逼真的數字化展示空間 。它打破了傳統展…

C++初登門檻

多態 一、概念 多態是指不同對象對同一消息產生不同響應的行為。例如&#xff0c;藍牙、4G、Wi-Fi 對“發送數據”指令有不同的具體實現。 二、核心理解 本質&#xff1a;通過基類指針或引用操作子類對象&#xff0c;實現運行時動態綁定。 表現形式&#xff1a; 接口統一&a…

文件上傳詳細版

文件上傳造成因素&#xff1a; 文件路徑過濾不嚴格&#xff0c;可能通過遍歷目錄來獲得文件&#xff0c;也可能通過文件上傳對重要文件案進行覆蓋&#xff0c;還可能對文件拓展名和文件類型過濾不嚴格&#xff0c;可以上傳任意文件到web公開目錄上&#xff0c;進而遠程控制服務…

華為網路設備學習-19 IGP路由專題-路由策略

一、 二、 注意&#xff1a; 當該節點匹配模式為permit下時&#xff0c;參考if else 當該節點匹配模式為deny下時&#xff1a; 1、該節點中的apply子語句不會執行。 2、如果滿足所有判斷&#xff08;if-match&#xff09;條件時&#xff0c;拒絕該節點并跳出&#xff08;即不…

智能指針之設計模式4

前面的文章介紹了使用工廠模式來封裝智能指針對象的創建過程&#xff0c;下面介紹一下工廠類 enable_shared_from_this的實現方案。 4、模板方法模式 在前面的文章分析過&#xff0c;enable_shared_from_this<T>類是一個工廠基類&#xff0c;提供的工廠方法是shared_f…

【Nova UI】十、打造組件庫第一個組件-圖標組件(下):從.svg 到 SVG Vue 組件的高效蛻變?

序言 在組件庫開發的精彩旅程中&#x1f680;&#xff0c;我們已經成功打造并完善了圖標組件體系&#xff0c;賦予其強大的功能和豐富的表現力&#x1f389;。然而&#xff0c;隨著業務版圖的不斷擴張&#x1f310;&#xff0c;手動逐個編寫 SVG Vue 組件的傳統方式&#xff0…

Golang | 倒排索引

文章目錄 倒排索引的設計倒排索引v0版實現 倒排索引的設計 通用搜索引擎 v.s. 垂直搜索引擎&#xff1a; 通用搜索引擎&#xff1a;什么都可以搜索&#xff0c;更加智能化垂直搜索引擎&#xff1a;只能搜自家數據庫里面的內容&#xff0c;一般都帶著搜索條件&#xff0c;搜索一…