环境介绍
- 系统:Windows11
- 设备:笔记本电脑(个人,公司还没发)+移动硬盘
- 已知问题:开机时但凡移动硬盘没有插上,装在里面的程序就会出问题(但不是一定不能运行,经常过了几天才发现最脆弱的程序得重装了……)
- 软件配置:VSCode正常运行,很多东西因为毕业设计不需要前端(计算机视觉的),这期间又重装了系统,已经废了。
- 工作环境:在家办公(明天去单位领电脑,继续在家办公),没有工作微信,靠邮件、视频会议交流。
- 目前任务:刚入职,还没开始主要任务,先一边做多级菜单练手,一边把环境装起来(不久有一个结晶的小任务)。
全局vue命令问题
- 13:18:打开终端(Microsoft自带终端+PowerShell),开始npm安装vue和vue-cli【之后开会并出去,没动电脑】
- 17点前:非安装目录运行
vue create xxx
,报错。 - 17:15:重新用npm安装了vue和vue-cli,更新了npm和node.js,都不行。
- 搜索发现似乎node.js版本会影响,看了一下系统,发现node.js没有出现在Windows的“应用”列表里。猜测是之前没插移动硬盘开电脑,导致node破坏了。
- 重新装了node的LTS,还不行(而且发现node安在内置硬盘里)。
- 17:27:怀疑vue和vue-cli根本没装上,查看全局包发现装上了,但网上说的全局包默认路径不存在。【这时候跑题去修改默认路径了,和主线无关,写在下面】
- 17:48:npm无论执行什么命令,都会让我用
--location=global
,即使我已经用了这玩意。看不下去,又开始改这个。 - 17:55:两个支线都修复了,包确定已装好,路径也在PATH里,终端用的是管理权限,还是不行。
- 17:57:为了组织思绪,开始写CSDN记录目前的尝试。
支线:修改npm全局包安装路径
- 17:30:觉得全局包放在默认路径以后会找不到,按网上的办法修改了路径(
npm config set prefix
,npm config set cache
)。 - 17:36:试图在新路径装vue和vue-cli,报错:
npm ERR! enoent ENOENT: no such file or directory, lstat
- 17:38:搜索报错内容,没查到有用信息(这句报错关键词太多了),又搜lstat,发现是npm1.0开始用的函数,但还是没有帮助。
- 17:42:意识到路径可能没修改对,又发现除了上面的两个,还要改npm内置的prefix(控制台那两个算是用户配置的),修改
nodejs\node_modules\npm\npmrc
。- 发现里面用到一个变量
APPDATA
,但nodejs文件夹找不到定义。 - 结果是系统变量,于是直接写死成
prefix=我想要的路径
。
- 发现里面用到一个变量
- 问题解决。
支线:报错让用–location=global
-
17:49:在CSDN上找到了解答,让改
npm.cmd
,把里面的prefix -g
改成prefix --location=global
。感觉这样不行(不懂cmd文件,单纯觉得会让每条命令都在全局运行,就没法局部安装什么包了……),继续找。 -
17:53:StackOverflow上说得一样,而且多改个文件(同文件夹的
npm
),改完好了。我为什么费这个劲,非得不信第一个答案(虽然如果听了估计也要一会才发现npm文件)? -
19:03:在写博客的过程中,发现虽然
vue
还不能运行,但报错变了。原来是vue不是程序或可运行的命令(PS表述有点变化),现在是:
vue : 无法加载文件 nodejs\npm_global\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ vue
+ ~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
- 19:06:网上说要改PowerShell权限,
Set-ExecutionPolicy-Scope CurrentUser
改成RemoteSigned
,改了。 - 19:09:命令行输入vue成功启动vue-cli。
- 19:10:成功在目标目录创建vue项目!(预设换成了Vue3,用之,结晶项目不太考虑规范想用哪个都行,希望不要出现包的兼容问题)
- CLI自动选择了npmmirror,有点慢。记得之前哪个控制台应用(git?)不让用代理,开代理就无法传输,所以先不改回国际的源了。(领导:我们所有东西都不需要翻墙)
- 19:17:还没装好,饿得指尖有点麻了(今天定了闹钟,吃了早餐【昨天买来忘的乳酪蛋糕】,结果早餐午餐都没吃太多,反而撑不下去了;不过我本来也比较到点就饿),开着电脑下楼了,但愿只是第一次最慢吧……
-TBC-