首页 > 其他分享 >【已解决】包管理器pnpm的使用,并解决pnpm报错系统禁止运行脚本

【已解决】包管理器pnpm的使用,并解决pnpm报错系统禁止运行脚本

时间:2024-07-17 13:28:40浏览次数:12  
标签:管理器 策略 作用域 pnpm 报错 ExecutionPolicy 执行 PowerShell

1.node包管理器pnpm的优势

  1. 磁盘空间效率:pnpm使用全局磁盘内容可寻址存储,通过硬链接和符号链接管理node_modules,从而减少磁盘空间的使用,同时保持目录的清洁。
  2. 安装速度:pnpm的安装速度比npm快近2倍,这得益于其共享依赖的机制,避免了在每个项目中重复安装相同包的副本。
  3. 依赖管理:pnpm不允许安装未在package.json中声明的包,这有助于避免因使用未声明模块而产生的潜在错误 。
  4. 支持单体仓库(monorepo):pnpm内置了对单体仓库的支持,允许在单个源码仓库中包含多个包,这在现代前端工程中非常有用。
  5. 安全性:pnpm创建的node_modules默认不是扁平结构,这意味着代码无法访问任意软件包,从而提高了安全性 。
  6. 性能优化:pnpm通过内容寻址的文件系统存储文件,避免了重复安装同一个包,即使是不同版本的包也会尽可能复用之前的代码,只添加新文件。
  7. 避免幽灵依赖:pnpm的依赖管理方式避免了npm和Yarn中常见的幽灵依赖问题,确保了依赖关系的清晰和项目的稳定性。
  8. 在这里插入图片描述
  9. 使用pnpm创建vue3项目
pnpm create vue

2.使用pnpm

2.1node版本与pnpm的版本兼容

在这里插入图片描述

2.2控制node版本,推荐使用nvm

推荐网址(中文版:安装和使用):nvm文档手册 - nvm是一个nodejs版本管理工具 - nvm中文网 (uihtm.com)

2.3全局安装pnpm,在当前node版本下全局安装一次,便可以直接使用

// 全局安装
npm i pnpm -g
//检查你的pnpm是否安装
pnpm -v

如何成功的话,会出现版本号

在这里插入图片描述

不成功可能会遇到pnpm在系统上禁止运行脚本问题

在这里插入图片描述

3.解决pnpm在系统上禁止运行脚本问题

3.1打开PowerShell

在这里插入图片描述

3.2输入命令

更改执行策略

  1. 更改策略为RemoteSigned
Set-ExecutionPolicy -Scope CurrentUser
RemoteSigned

在这里插入图片描述

  1. 可查看执行策略
    默认情况下,策略为Restricted(严格)
Get-ExecutionPolicy

4.关于系统执行策略

在这里插入图片描述

在Windows操作系统中,当涉及到执行脚本时,特别是PowerShell脚本,ExecutionPolicy 是一个重要的设置,它决定了系统允许执行哪些类型的脚本。ExecutionPolicy 有几种不同的设置,其中包括 RestrictedAllSignedRemoteSignedUnrestricted 等。这些设置可以应用于不同的作用域,以控制脚本执行的权限。

以下是ExecutionPolicy应用的作用域及其含义:

  1. MachinePolicy:这是由系统策略决定的执行策略,通常由系统管理员设置,适用于计算机上的所有用户。如果设置了MachinePolicy,它将优先于其他策略。
  2. UserPolicy:这是由用户策略决定的执行策略,适用于特定的用户账户。如果设置了UserPolicy,它将优先于MachinePolicy,但不会影响其他用户。
  3. Process:这个作用域的执行策略仅适用于当前PowerShell进程。通过在PowerShell命令行中使用 Set-ExecutionPolicy 命令设置,例如:Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned。这种设置在PowerShell会话结束后将不再有效。
  4. CurrentUser:这个作用域的执行策略仅适用于当前登录的用户。它不由系统或用户策略控制,而是通过用户在PowerShell中设置的执行策略来确定。
  5. LocalMachine:这个作用域通常指的是MachinePolicy,即计算机级别的策略,适用于计算机上的所有用户和会话。

在PowerShell中,可以使用 Get-ExecutionPolicy -List 命令来查看当前所有作用域的执行策略设置。如果需要更改执行策略,可以使用 Set-ExecutionPolicy 命令,并指定相应的作用域,例如 Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

注意:更改执行策略可能需要管理员权限,并且在生产环境中应谨慎操作,以避免潜在的安全风险。

标签:管理器,策略,作用域,pnpm,报错,ExecutionPolicy,执行,PowerShell
From: https://blog.csdn.net/weixin_53649241/article/details/140464929

相关文章

  • 安卓MT管理器v2.16.2/逆向修改神器 本地VIP已解锁
    MT管理器是一款强大的文件管理工具和APK逆向修改神器。如果你喜欢它的双窗口操作风格,可以单纯地把它当成文件管理器使用。如果你对修改APK有深厚的兴趣,那么你可以用它做许许多多的事,例如汉化应用、替换资源、修改布局、修改逻辑代码、资源混淆、去除签名校验等,主要取决于你如......
  • Vue3 - 微信公众号H5网站使用微信扫一扫(微信扫码),苹果报错 {“errMsg“:“scanQRCode
    前言关于此问题网上的教程都无法解决,如果您的报错信息与我相似,即可解决。在vue3|nuxt3微信公众号网页开发中,微信移动端h5网页使用JS-SDK中的“微信扫码(微信扫一扫)”wx.scanQRCode接口,苹果ios系统真机测试时出现报错:“errMsg”:“scanQRCode:thepermissi......
  • jpa报错 Failed to initialize JPA EntityManagerFactory: Unable to instantiate de
    报错2024-07-1711:18:57.558[][main]o.h.dialect.Dialect:HHH000400:Usingdialect:org.hibernate.dialect.MySQL5InnoDBDialect2024-07-1711:18:57.729[][main]tyManagerFactoryBean:FailedtoinitializeJPAEntityManagerFactory:......
  • 麒麟sp3安装mongodb报错
    环境:OS:麒麟V10sp3db:4.4.22 [root@localhostconf]#/usr/local/services/mongodb/bin/mongod-f/home/middle/mongodb/conf/mongo.cnf/usr/local/services/mongodb/bin/mongod:errorwhileloadingsharedlibraries:libcrypto.so.10:cannotopensharedobjectfile:......
  • 一分钟解决CLIENT_PLUGIN_AUTH is required. IDEA连接数据库时报错
    CLIENT_PLUGIN_AUTHisrequired.IDEA连接数据库时报错​ 今天楼主在导入java项目时在连接数据库时IDEA报的错误为CLIENT_PLUGIN_AUTHisrequired.​ 报错如下图:经过多方排查,发现是之前下载过其他数据库,导致系统服务里已经启动了一个MySql服务​ 已经安装过小蜜蜂数据库,我......
  • Linux 【systemctl 】服务管理器
    1.start/stop#启动一个服务并在后台运行它systemctlstart[service]#停止当前正在运行的服务systemctlstop[service]#停止正在运行的服务,然后重新启动它systemctlrestart[service]#-------------------------------#示例:开启sshd服务systemctlstartsshd#示例:......
  • pnpm错误, ERR_PNPM_UNEXPECTED_STORE  Unexpected store location
    背景 ERR_PNPM_UNEXPECTED_STORE UnexpectedstorelocationThedependenciesat"C:\Users\acer\Code\Nuxt3\init\node_modules"arecurrentlylinkedfromthestoreat"C:\Users\acer\.hvigor\caches\v3".pnpmnowwantstousethe......
  • 一些执行maven命令的报错
    1.mvnclean--settings./settings.xml[ERROR]Couldnotcreatelocalrepositoryat/github/workspace/repository->[Help1][ERROR][ERROR]Toseethefullstacktraceoftheerrors,re-runMavenwiththe-eswitch.[ERROR]Re-runMavenusingthe-X......
  • 2024-07-16 使用了.md文件作为路由文件来引用,在开发中能正常显示,打包的时候就报错了:Ca
    我使用了.md文件作为路由文件来引用,在开发中能正常显示,打包的时候就报错了//vite.config.ts import{defineConfig}from'vite'; importvuefrom'@vitejs/plugin-vue'; importmarkdownfrom"vite-plugin-md"; exportdefaultdefineConfig({  plugin......
  • 【YashanDB知识库】存储过程报错snapshot too old
    问题描述20231127上午客户反馈绩效系统20231125、20231126出现2次YAS-02020snapshottooold的问题,测试也有类似问题。该过程是客户新增的存储过程,目的是通过PRO_RUN_JOB作为主控,调度其他存储过程,后续不用其他调度引擎。原因分析错误信息收集分析分析存储过程报错日志,核查UN......