GithubPages

Git & Github

1
2
(base) PS C:\Users\NPU481> git -v
git version 2.42.0.windows.2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
(base) PS C:\Users\NPU481> git config --global user.name murphyhoucn
(base) PS C:\Users\NPU481> git config --global user.email cosmicdustycn@outlook.com
(base) PS C:\Users\NPU481> git config user.name
murphyhoucn
(base) PS C:\Users\NPU481> git config user.email
cosmicdustycn@outlook.com

(base) PS C:\Users\NPU481> git config --global --list
(base) PS C:\Users\NPU481> git config --system --list
(base) PS C:\Users\NPU481> git config --local --list

(base) PS C:\Users\NPU481> ssh-keygen -t rsa -C "cosmicdustycn@outlook.com"

(base) PS C:\Users\NPU481> ssh -T git@github.com
The authenticity of host 'github.com (20.205.243.166)' can't be established.
ECDSA key fingerprint is SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com,20.205.243.166' (ECDSA) to the list of known hosts.
Hi murphyhoucn! You've successfully authenticated, but GitHub does not provide shell access.

NodeJS

以管理员身份运行Terminal

安装与配置

Node.js安装与配置(详细步骤)_nodejs安装及环境配置-CSDN博客

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
(base) PS C:\Users\NPU481> node -v
v20.10.0
(base) PS C:\Users\NPU481> npm -v
10.2.3


(base) PS C:\Users\NPU481> npm config get prefix
C:\Users\NPU481\AppData\Roaming\npm
(base) PS C:\Users\NPU481> npm config get cache
C:\Users\NPU481\AppData\Local\npm-cache


(base) PS C:\Users\NPU481> npm config set prefix "C:\Program Files\nodejs\node_global"
(base) PS C:\Users\NPU481> npm config set cache "C:\Program Files\nodejs\node_cache"


(base) PS C:\Users\NPU481> npm config get prefix
C:\Program Files\nodejs\node_global
(base) PS C:\Users\NPU481> npm config get cache
C:\Program Files\nodejs\node_cache

image-20231210091044750

1
2
3
4
5
6
7
8
9
10
11
12
13
# 查看当前镜像
(base) PS C:\Users\NPU481> npm config get registry
https://registry.npmjs.org/

# 设置淘宝镜像
(base) PS C:\Users\NPU481> npm config set registry https://registry.npm.taobao.org
(base) PS C:\Users\NPU481> npm config get registry
https://registry.npm.taobao.org

# 恢复为原镜像
(base) PS C:\Users\NPU481> npm config set registry https://registry.npmjs.org
(base) PS C:\Users\NPU481> npm config get registry
https://registry.npmjs.org
1
2
3
4
5
6
(base) PS C:\Users\NPU481> npm config get proxy
null
(base) PS C:\Users\NPU481> npm config set proxy=http://127.0.0.1:4780
(base) PS C:\Users\NPU481> npm config set proxy=https://127.0.0.1:4780
(base) PS C:\Users\NPU481> npm config get proxy
https://127.0.0.1:4780

在Windows命令提示符(cmd)中设置代理的方法(可解决 git / pip 等指令网络请求失败的情况)_cmd 代理-CSDN博客

安装hexo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
(base) PS D:\Github\murphyhoucn\murphuhoucn.github.io> npm install -g hexo-cli

added 54 packages in 5s

(base) PS D:\Github\murphyhoucn\murphuhoucn.github.io> hexo -v
hexo-cli: 4.3.1
os: win32 10.0.19045
node: 20.10.0
acorn: 8.10.0
ada: 2.7.2
ares: 1.20.1
base64: 0.5.0
brotli: 1.0.9
cjs_module_lexer: 1.2.2
cldr: 43.1
icu: 73.2
llhttp: 8.1.1
modules: 115
napi: 9
nghttp2: 1.57.0
nghttp3: 0.7.0
ngtcp2: 0.8.1
openssl: 3.0.12+quic
simdutf: 3.2.18
tz: 2023c
undici: 5.26.4
unicode: 15.0
uv: 1.46.0
uvwasi: 0.0.19
v8: 11.3.244.8-node.25
zlib: 1.2.13.1-motley
1
(base) PS D:\Github\murphyhoucn\murphuhoucn.github.io>npm install hexo-deployer-git --save

NodeJS v.s. npm

Node.js 是一个能让 JavaScript 在服务器上运行的环境;npm 是这个环境的“应用商店”,用来管理你项目中需要用到的各种工具库(包)。

1. Node.js (通常简称为 Node)

  • 全称:Node.js
  • 本质:一个 JavaScript **运行时环境 (Runtime Environment)**。
  • 作用:在 Node.js 出现之前,JavaScript 只能运行在浏览器中,主要用来做网页的交互效果。Node.js 的诞生打破了这个限制,它把 Google Chrome 浏览器中强大的 V8 JavaScript 引擎拿了出来,让 JavaScript 可以直接在任何计算机或服务器的操作系统上运行。
  • 结果:这使得开发者可以使用 JavaScript 这一门语言来编写后端服务,比如开发网站的 API 接口、操作数据库、读写文件、构建实时聊天应用等等,实现了“全栈开发”。
  • 如何使用:你安装好 Node.js 后,就可以在终端(命令行工具)中使用 node 命令来执行一个 .js 文件。
    1
    2
    # 运行一个名为 app.js 的文件
    node app.js

2. npm (Node Package Manager)

  • 全称:Node Package Manager
  • 本质:Node.js 的官方包管理器
  • 作用:npm 有两个核心功能:
    1. 一个命令行工具 (npm):当你安装 Node.js 时,npm 会被自动一起安装。你可以用它来安装、卸载、更新和管理项目所依赖的各种第三方代码库(这些库被称为“包”或“模块”)。
    2. **一个在线代码仓库 (npm Registry)**:这是世界上最大的软件注册表,网址是 npmjs.com。全世界的开发者都把他们编写的可重用代码包上传到这里,供其他人下载使用。
  • 为什么需要它:在开发复杂的应用时,你不可能所有功能都从零开始写。比如,你需要开发一个网站服务器,你不需要自己去写底层的网络请求处理逻辑,可以直接使用社区里最流行的 Express 包。
  • 如何使用:通过 npm 命令来管理这些包。
    1
    2
    3
    4
    5
    6
    7
    8
    # 初始化一个新项目,会生成一个 package.json 文件来记录项目信息和依赖
    npm init

    # 安装一个名为 express 的包,并将其记录到 package.json
    npm install express

    # 卸载一个包
    npm uninstall express

关系总结

  1. 从属关系npm 是伴随 Node.js 而生的,是 Node.js 生态系统的一部分。当你安装 Node.js 时,就自动获得了 npm。
  2. 协作关系Node.js 提供了运行环境,npm 负责管理在这个环境中运行的代码包
  3. 工作流程
    • 你先安装 Node.js,获得在服务器上运行 JavaScript 的能力。
    • 然后在一个项目中,通过 npm 工具从 npm Registry 下载你需要的各种第三方包(比如 Express 框架、lodash 工具库等)。
    • 最后,你编写自己的业务逻辑代码,并通过 node 命令来执行整个项目。
      特性 Node.js (Node) npm
      全称 Node.js Node Package Manager
      角色 JavaScript 运行时环境 Node.js 的包管理器
      比喻 厨房(提供了运行的基础设施) 食材供应商和仓库管理员
      核心功能 让 JavaScript 脱离浏览器在服务器端运行 下载、安装、管理项目依赖的第三方代码包
      如何获得 从官网下载安装 安装 Node.js 时会自动附带安装
      常用命令 node <文件名>.js npm install <包名>, npm init, npm start

简单来说,它们是一对密不可分的组合,共同构成了强大而繁荣的现代 JavaScript 后端开发生态。

Node.js (node) 常用命令

node 命令本身相对简单,主要用于执行脚本和启动交互式环境。

命令 作用 示例
node [文件名] 执行一个 JavaScript 文件。这是最核心、最常用的命令。 node app.js
node 进入 REPL (Read-Eval-Print-Loop) 交互式环境。你可以在这个环境里输入任何 JS 代码并立即看到结果,非常适合快速测试和学习。 node (然后输入 1+1,会立即返回 2)
node -vnode --version 查看当前安装的 Node.js 的版本号 node -v
node -e "[代码]"node --eval="[代码]" 直接在命令行中执行一段 JavaScript 字符串代码。 node -e "console.log(1+1)"
node --check [文件名] 检查一个 JS 文件的语法是否正确,但不会执行它。 node --check app.js

npm (Node Package Manager) 常用命令

npm 的命令要丰富得多,主要围绕项目管理和包(依赖)管理。

1. 项目初始化

命令 别名 作用
npm init 在当前文件夹下创建一个 package.json 文件。它会通过问答的方式让你输入项目名称、版本等信息。
npm init -y 快速创建 package.json 文件,所有选项都使用默认值,跳过问答环节。

2. 安装依赖 (Packages)

这是 npm 最核心的功能。

命令 别名 作用
npm install npm i 安装 package.json 文件中 dependenciesdevDependencies 里的所有依赖包。通常在拿到一个新项目后,首先执行此命令。
npm install <包名> npm i <包名> 安装指定的包,并默认将其添加到 package.jsondependencies 中。这是生产环境需要的依赖。
npm install <包名> --save-dev npm i <包名> -D 安装指定的包,并将其添加到 package.jsondevDependencies 中。这是开发环境需要的依赖(如测试工具、打包工具)。
npm install <包名>@<版本号> npm i <包名>@<版本号> 安装指定版本的包。
npm install <包名> --global npm i <包名> -g 全局安装一个包。这种包通常是命令行工具(如 nodemon, http-server),安装后可以在任何地方直接使用其命令。

3. 卸载和更新依赖

命令 别名 作用
npm uninstall <包名> npm un <包名> 卸载一个包,并将其从 package.json 中移除。
npm update 根据 package.json 中指定的版本规则,将所有依赖更新到最新的兼容版本。
npm update <包名> 更新指定的单个包。

4. 查看依赖信息

命令 别名 作用
npm list npm ls 以树状结构列出当前项目安装的所有依赖包。
npm list -g npm ls -g 列出所有全局安装的包。
npm list --depth=0 npm ls --depth=0 只列出顶层依赖,不展示依赖的依赖。
npm outdated 检查当前项目的依赖是否有可用的新版本,非常有用。
npm view <包名> version 查看某个包在 npm 仓库中最新的版本号。
npm view <包名> versions 查看某个包在 npm 仓库中所有的历史版本。

5. 运行脚本

package.json 文件中有一个 scripts 字段,可以定义一些快捷命令。

命令 作用
npm start 执行 scripts 中名为 start 的命令。通常用于启动项目。
npm test 执行 scripts 中名为 test 的命令。通常用于运行测试。
npm run <脚本名> 执行 scripts 中任意自定义名称的命令。这是最灵活、最常用的运行脚本方式。
npm run 列出 package.json 中所有可用的 scripts 命令。

6. 其他常用命令

命令 作用
npm -v 查看 npm 自身的版本号。
npm config list 查看 npm 的所有配置信息。
npm cache clean --force 强制清除 npm 的本地缓存。当遇到奇怪的安装问题时,可以尝试此命令。
npx <包名> 执行一个包的命令。它会先检查本地 node_modules 中是否存在该包,如果不存在,则会临时下载并运行,运行结束后不保留。非常适合运行那些不常使用的脚手架工具。

总结:日常开发最高频命令

对于日常开发,你最需要记住的可能就是下面这几个:

  1. npm init -y:开始一个新项目。
  2. npm install:下载项目所有依赖。
  3. npm install <包名>:添加新的生产依赖。
  4. npm install <包名> -D:添加新的开发依赖。
  5. npm run <脚本名>:运行在 package.json 中定义的各种任务(如启动、构建、测试)。
  6. npm uninstall <包名>:移除不再需要的依赖。
  7. node app.js:运行你的程序。

GithubPages
https://blog.cosmicdusty.cc/post/Tools/GithubPages/
作者
Murphy
发布于
2023年12月10日
许可协议