环境:
系统: win11
powershell版本: 5
使用[winget]
管理软件
查看winget
的目录配置
winget --info
winget
修改配置文件,参考
winget settings
会自动打开配置文件settings.json
,添加以下配置,修改默认的软件安装位置:
{
"$schema": "https://aka.ms/winget-settings.schema.json",
// For documentation on these settings, see: https://aka.ms/winget-settings
// "source": {
// "autoUpdateIntervalInMinutes": 5
// },
"installBehavior": {
"preferences": {
"scope": "user"
},
"defaultInstallRoot": "D:/Software/program/",
"portablePackageUserRoot ": "D:\\Software\\program\\",
"portablePackageMachineRoot": "D:\\Software\\program\\"
},
"visual": {
"progressBar": "rainbow"
},
}
再次运行以下命令,发现有的配置目录确实已经更改了。
winget --info
测试一下:
安装fnm
winget install --id Schniz.fnm
发现还是安装在原来的默认位置,并没有什么用,不晓得啥原因!!!哭唧唧 还是老老实实使用以下命令
winget install --id Schniz.fnm -l D:\Software\program\fnm
powershell使用fnm
在命令窗口powershell
运行$PROFILE
会打印powershell
配置文件的路径(为了避免C盘消耗太快,我将文档的指向路径从C:\Users\FanQinyun\Documents\
到D:\Users\FanQinyun\Documents\
,所以我的是D:\Users\FanQinyun\Documents\WindowsPowerShell\Microsoft.VSCode_profile.ps1
),但是你去该路径查找文件时是找不到的,因此,可以使用vscode
,运行code $PROFILE
会自动在指定路径创建该配置文件,在配置文件里面写入
fnm env --use-on-cd | Out-String | Invoke-Expression
运行powershell
的时候会自动运行该配置文件。然后就可以开始使用fnm
命令了
cmd使用fnm
在cmd
下, 运行fnm use node版本
,出现以下错误:
C:\Users\FanQinyun>fnm use v16
error: We can't find the necessary environment variables to replace the Node version.
You should setup your shell profile to evaluate `fnm env`, see https://github.com/Schniz/fnm#shell-setup on how to do this
Check out our documentation for more information: https://fnm.vercel.app
在powershell
则没有该问题,这是fnm
因为不完全支持cmd
。
解决:创建startup.cmd
// startup.cmd
FOR /f "tokens=*" %%i IN ('fnm env --use-on-cd') DO CALL %%i
这个脚本的意义是它会去循环fnm env --use-on-cd
里的每一条代码并执行它。
cmd
运行该文件就可以使用了(xxx\xxx\替换成startup.cmd
所在文件夹路径)
call xxx\xxx\startup.cmd
也可以直接在cmd
中运行
FOR /f "tokens=*" %i IN ('fnm env --use-on-cd') DO CALL %i
注意这里只有一个%
,
不过以上2种方式只是局部生效,要想全局生效,可以搜索设置cmd
启动文件, 把startup.cmd
添加到注册表的启动路径,具体可以自定搜索,但是我这样做是有问题的,待解决。
git bash使用fnm
全局配置文件~/.bash_profile
## eval $(fnm env | sed 1d)
eval "$(fnm env --use-on-cd)"
## export PATH=$(cygpath $FNM_MULTISHELL_PATH):$PATH
## if [[ -f .node-version || -f .nvmrc ]]; then
## fnm use
## fi
fnm 配置
查看:
fnm env
修改fnm
安装node
的路径
1. powershell
fnm
安装node
的默认安装路径是C:\Users\FanQinyun\AppData\Roaming\fnm
,在powershell
的配置文件中追加以下配置:
fnm env --fnm-dir D:\Software\program\fnm | Out-String | Invoke-Expression
然而这样也是有不足之处的,因为该配置只针对打开新的powershell
生效,对cmd
, git bash
是无效的。
2. git bash
在~/.bash_profile
(没有就自己新建)里追加以下内容即可
eval "$(fnm env --fnm-dir D:\\Software\\program\\fnm)"
安装node
fnm list-remote // 查看node的版本
fnm install xxx
就会发现node
都会被放在D:\\Software\\program\\fnm
,命令生效。
查看本地已经安装的node
版本列表(与上述文件夹D:\\Software\\program\\fnm
里面已经安装的node
列表是对应的)
fnm -l
安装python
查找合适的python
版本
winget search python
安装在指定位置:
winget install --id Python.Python.3.8 -l D:\\Software\\program\\python
下载nginx
nginx.org/en/download… 解压到指定的位置即可开始配置使用。
安装mysql和安装postman
就算指定了位置还是无效,所以决定手动安装。
安装postgresql和postgis
安装visual studio community
vscode配置c++的环境
- vscode里面搜索c++插件进行安装
vscode配置opengl环境
其实就是在工作环境.vscode
里创建c_cpp_properties.json
和task.json
,配置好在哪里找到上面下载好的库文件和头文件。
c_cpp_properties.json
{
"configurations": [
{
"name": "Win32",
"includePath": [ // 告诉编译器在哪里找到库文件和头文件
"${workspaceFolder}/**",
"${workspaceFolder}/include/**",
"${workspaceFolder}/lib/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "D:\\Software\\program\\msys64\\ucrt64\\bin\\gcc.exe",
"cStandard": "c17",
"cppStandard": "gnu++17",
"intelliSenseMode": "windows-gcc-x64"
}
],
"version": 4
}
task.json
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe build active file",
"command": "D:\\Software\\program\\msys64\\ucrt64\\bin\\g++.exe",
"args": [
"-D GLEW_STATIC", // 因为我们链接的是静态库,使用该宏告知glew
"-fdiagnostics-color=always",
"-g",
"${file}", // 注意要编译的文件要靠近g++,因为编译是从右向左的,不然会报各种undefined
"${workspaceFolder}\\lib\\GLFW\\**.a", // 指定.a/.c/.lib要放在-g之后
// "${workspaceFolder}\\lib\\**.c",
"${workspaceFolder}\\lib\\**.a",
"${workspaceFolder}\\lib\\GLEW\\**.lib",
"-I", // 在c_cpp_properties.json我们告诉了头文件的路径,只有在这里增加了-I和路径才能使其生效
"${workspaceFolder}\\include",
// "-L", // 这个-L和路径是告诉编译器库文件的搜索路径
// "${workspaceFolder}\\lib\\GLEW",
// "-l", // -l和库文件名是表示在上面的路径里面寻找那个库,需要什么库就添加什么库
// "glew32",
// "-l",
// "glew32s",
// "-L",
// "${workspaceFolder}\\lib\\GLFW",
// "-l",
// "glfw3",
"-l", // 如果是系统自带的库,则只需要-l + 库名,不需要执行搜索路径
"opengl32",
"-l",
"gdi32",
"-o", // 这个是输出,下面是输出的路径和文件名
"${fileDirname}\\${fileBasenameNoExtension}.exe",
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}
这样配置之后,我们运行某个cpp
文件时,就可以看到相应的编译命令,比如按照上面的命令配置,我们编译某个文件xxx其实是在运行以下命令
D:\Software\program\msys64\ucrt64\bin\g++.exe "-D GLEW_STATIC" -fdiagnostics-color=always -g D:\Codes\study\Cpp-OpenGL-Setup\xxx.cpp D:\Codes\study\Cpp-OpenGL-Setup\lib\GLFW\**.a D:\Codes\study\Cpp-OpenGL-Setup\lib\**.a D:\Codes\study\Cpp-OpenGL-Setup\lib\GLEW\**.lib -I D:\Codes\study\Cpp-OpenGL-Setup\include -l opengl32 -l gdi32 -o D:\Codes\study\Cpp-OpenGL-Setup\xxx.exe
为了方便,我们还是决定安装visual studio
其他
- 安装百度网盘