电脑配置

320 阅读2分钟

环境:

系统: 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

image.png

修改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生效,对cmdgit 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++的环境

  1. vscode里面搜索c++插件进行安装

image.png

image.png

  1. 安装 MinGW-w64 工具链

image.png

image.png

image.png

image.png

image.png

image.png

vscode配置opengl环境

git项目地址

image.png

  1. 下载GLFW,压缩
  2. 准备GLEWGLAD配置生成
  3. 其他:下载GLM等等

其实就是在工作环境.vscode里创建c_cpp_properties.jsontask.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

其他

  1. 安装百度网盘