搭建 Vue 环境遇到的问题

常用 npm 命令

全局安装命令

npm install -g packgeName

全局卸载命令

npm uninstall -g packgeName

在使用node的时候,用 npm 安装了很多软件,过一段时间没有使用就会忘记,怎么查看自己全局安装过的包,用命令

npm list -g –depth 0

-g: 全局的安装包

list:已安装的 node 包

–depth 0:

安装 vue-cli

npm install -g vue-cli

PS D:\WorkSpace\VueProject> npm install -g vue-cli
npm WARN deprecated vue-cli@2.9.6: This package has been deprecated in favour of @vue/cli
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to
“coffeescript” (no hyphen)
C:\Users\Administrator\AppData\Roaming\npm\vue-init -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\vue-cli\bin\vue-init
C:\Users\Administrator\AppData\Roaming\npm\vue -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\vue-cli\bin\vue
C:\Users\Administrator\AppData\Roaming\npm\vue-list -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\vue-cli\bin\vue-list

  • vue-cli@2.9.6
    added 238 packages from 205 contributors in 57.591s

运行 vue 测试 vue 命令

PS D:\WorkSpace\VueProject> vue
vue : 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\vue.ps1,因
为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwl
ink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1

  • vue
  • CategoryInfo : SecurityError: (:) [],PSSecurityException
  • FullyQualifiedErrorId : UnauthorizedAccess

解决PowerShell 脚本执行策略的问题

Powershell 默认是不允许执行 PS1 脚本的,这就需要我们自己使用 Set-ExecutionPolicy 来修改默认策略。默认

  1. 以管理员身份运行PowerShell
  2. 执行: Get-ExecutionPolicy 可以获取当前的策略。默认是 Restricted,表示状态是禁止的
  3. 执行: set-ExecutionPolicy RemoteSigned
  4. 选择Y

这里简单的说下六种策略的区别

  • Restricted.
    不读取任何配置文件、不运行任何脚本,这个是默认策略。
  • AllSigned.
    所有的脚本和配置文件必须有受信任的的发布者的签名,就算是自己写的脚本也同样如此,否则无法执行。
  • RemoteSigned.
    和上面的类似,但是针对的是从网上下载下来的脚本,这些脚本同样也需要可信的签名。
  • Unrestricted.
    可以运行脚本或者读取配置文件,如果执行的是从网上下载的脚本,那么会有一个申请权限的提示。
  • Bypass.
    不阻止任何脚本或配置文件,也不会显示警告或者提示。
  • Undefined.
    把当前 scope 的所有策略全部都删除,但是不会删除 Group Policy scope 中的策略。如果你想删除某个设置好的策略,用这个就行了。

上面说到了 scope,这个可以理解为作用域,针对不同的作用域设置不同的策略。
主要有三种 scope:

  • process
    设置的策略只影响当前的 powershell 进程。
  • CurrentUser:
    设置的策略只影响当前用户。
  • LocalMachine:
    设置的策略影响这台计算机上的所有用户。

那么设置方法就是使用Set-ExecutionPolicy命令,具体格式如下:

Set-ExecutionPolicy [-ExecutionPolicy] [[-Scope] ] [-Force] [-Confirm] [-WhatIf] [ ]

  • -Force 的作用是禁止所有的提示输出,当你更改执行策略的时候,默认情况下是会显示警告的,这个选项可以让他不显示警告。
  • -Confirm 会在你执行这个 cmdlet 之前再确认一次,以免打错命令。
  • -WhatIf 会显示执行完这条 cmdlet 之后会发生什么事情,但是并不执行当前的 cmdlet。