惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
博客园 - 三生石上(FineUI控件)
Hugging Face - Blog
Hugging Face - Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
罗磊的独立博客
博客园_首页
量子位
雷峰网
雷峰网
GbyAI
GbyAI
小众软件
小众软件
酷 壳 – CoolShell
酷 壳 – CoolShell
D
DataBreaches.Net
H
Hackread – Cybersecurity News, Data Breaches, AI and More
The Cloudflare Blog
IT之家
IT之家
WordPress大学
WordPress大学
人人都是产品经理
人人都是产品经理
Apple Machine Learning Research
Apple Machine Learning Research
P
Proofpoint News Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东

繁星点点

最新轻量级龙虾部署教程 通过netboot.xyz重装系统 giffgaff卡保号教程 Llinux系统中全新透明代理方案(可代理所有出站流量) tailscale开启子网路由常见的坑 OpenWrt固件编译 解决UFW和Docker的问题 使用PGP的非对称算法加密文件 NSSM工具把任意exe程序注册为Windows后台服务 轻量级简约端口转发rinetd 安卓IDE的安装和使用 IP信息查询网站汇总 热点共享代理教程 SSH使用密钥认证登录详细解释 Debian系统公网IP出口切换指南,适用多IP服务器 Windows系统安装Scoop包管理器 安卓Flutter开发学习笔记 使用手机搭建节点服务端 关于github提交记录泄露真实邮箱的处理办法 anytls协议部署教程 caddy给域名用上ECH加密 通过gitlab流水线自动备份仓库 通过CF-Workers代理访问网站 低配机器使用alpine系统跑docker 端口敲门教程 3x-ui面板通过api管理示例 nmap端口扫描 数据库常用命令 snap和winget包管理器 Git推送GitHub常用命令
项目编译构建文档
2024-07-03 · via 繁星点点

各个主流编程语言的安装依赖和构建运行命令

基本代码结构

my-nodejs-project/
├── node_modules/
├── public/
│ └── index.html
├── src/
│ ├── index.js
│ └── App.js
├── .gitignore
├── package.json
└── webpack.config.js

安装依赖(推荐使用pnpm)

npm i

安装依赖包

比如框架、工具库等

npm install 包名

安装开发依赖包

比如测试框架、代码检查、构建工具等

npm install 包名 -D

全局安装依赖包

全局安装的包可以在命令行任何地方直接使用,一般是命令行工具类包
pnpm则是pnpm add -g 包名

npm install -g 包名

构建打包

npm run build

测试启动

npm run dev

直接启动

npm start

基本代码结构

my-python-project/
├── .github/
├── myapp.py
├── config.py
├── requirements.txt
├── scripts/
│   └── run.sh
├── logs/
├── models/
├── services/
├── templates/
├── tests/
├── utils/
├── .env.local
├── .gitignore
└── LICENSE

自动识别所有依赖并生成依赖清单

pip freeze > requirements.txt

安装依赖

pip install -r requirements.txt

运行

python app.py

基本代码结构

my-springboot-project/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── example/
│ │ │ └── MySpringBootApplication.java
│ │ └── resources/
│ │ ├── application.properties
│ │ └── static/
│ └── test/
│ └── java/
│ └── com/
│ └── example/
│ └── MySpringBootApplicationTests.java
├── .gitignore
├── build.gradle
└── pom.xml

安装依赖和构建

Maven

mvn clean package

Gradle

./gradlew build

运行构建出来的jar包(一般在项目的target/you.jar目录中)

java -jar target/you.jar

基本代码结构

my-go-project/
├── main.go
└── README.md

清理缓存

go clean -cache

初始化模块

go mod init myapp

自动识别并安装依赖

go mod tidy

在线运行

go run main.go

质量检查

go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
golangci-lint run
go install honnef.co/go/tools/cmd/staticcheck@latest
staticcheck ./...

格式化代码

go fmt ./...

将所有依赖和静态链接一起打包,并优化包大小

GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-s -w" -o myapp

Windows系统构建

$env:GOOS="windows"; $env:GOARCH="amd64"; $env:CGO_ENABLED="0"; go build -ldflags="-s -w" -o myapp.exe
$env:GOOS="linux"; $env:GOARCH="amd64"; $env:CGO_ENABLED="0"; go build -ldflags="-s -w" -o myapp-amd64

PHP 💻

基本代码机构

your-project/
├── index.php
├── config/
│   └── config.php
├── src/
│   ├── Controller/
│   ├── Model/
│   ├── View/
│   └── ...
├── public/
│   ├── css/
│   ├── js/
│   └── images/
├── vendor/
├── .env
├── .gitignore
├── composer.json
├── composer.lock
└── README.md

安装依赖

如果项目使用Composer进行依赖管理,请在项目目录中运行composer install

cd /var/www/html/your-project
composer install

运行

安装PHPPHP-FPM 并配置配置nginx,确保你的public/index.php是项目的入口文件,nginx运行目录一般都是这个目录。

环境安装:https://dotnet.microsoft.com/zh-cn/download/dotnet

基本代码结构

MyApp/
├─ MyApp.sln               # 解决方案文件(可选,多项目时使用)
├─ MyApp/                  # 项目目录
│  ├─ MyApp.csproj         # 项目文件(包含依赖、编译选项)
│  ├─ Program.cs           # 主程序入口
│  ├─ Properties/
│  │  └─ launchSettings.json  # 调试配置(VS / Rider)
│  ├─ appsettings.json     # 配置文件(可选)
│  ├─ Models/              # 存放数据模型类
│  │  └─ User.cs
│  ├─ Services/            # 存放服务类
│  │  └─ EmailService.cs
│  ├─ Controllers/         # MVC 或 API 项目才有
│  │  └─ UserController.cs
│  └─ wwwroot/             # Web 静态资源(Web 项目才有)
├─ .gitignore              # git 忽略文件
├─ global.json             # SDK 版本锁定(可选)
└─ README.md

常用命令

# 恢复项目依赖,下载 NuGet 包并生成依赖缓存
dotnet restore

# 安装代码格式化
dotnet tool install -g dotnet-format

# 执行代码格式化
dotnet format

# 编译项目并执行静态代码分析
dotnet build -warnaserror -p:AnalysisLevel=latest

# 运行单元测试,确保代码逻辑正确
dotnet test

# 热重载运行
dotnet watch run

# 生成可部署的生产版本,放在 publish 目录
dotnet publish -c Release