You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何本地安装Angular CLI(不使用-g标志)并解决子目录依赖问题

解决本地安装Angular CLI后避免生成子项目的问题

嘿,我完全懂你想把Angular CLI作为项目本地依赖管理的需求——这样团队里其他人拉取项目时,不用额外装全局CLI,直接npm install就能搞定所有依赖,确实是更规范的协作方式。你之前遇到的问题,其实是ng new命令的默认行为导致的:不管CLI是全局还是本地安装,ng new <项目名>本身就是用来创建一个带独立目录的全新Angular项目,所以才会生成带自己node_modules的子文件夹。

下面给你一套完整的解决方案,让你把Angular CLI和项目依赖都放在同一个本地目录里:

步骤1:准备项目根目录

先创建并进入你想要作为Angular项目根的文件夹:

mkdir my-angular-project && cd my-angular-project

步骤2:初始化package.json(可选但推荐)

如果需要提前创建项目的package.json(方便后续添加其他自定义依赖),执行:

npm init -y

步骤3:本地安装Angular CLI到开发依赖

把CLI装到项目的dev依赖里,这样它会被记录在package.json中:

npm install @angular/cli --save-dev

步骤4:在当前目录初始化Angular项目

关键来了——不要用ng new <子项目名>,而是用本地CLI在当前目录创建项目,避免生成子文件夹:

npx ng new . --skip-install --force

这里的参数解释:

  • npx:自动调用本地node_modules里的Angular CLI命令,不用全局安装也能执行
  • .:指定在当前目录创建项目,而不是生成新的子目录
  • --skip-install:告诉CLI不要自动执行npm install,我们之后自己统一安装
  • --force:如果当前目录已经有package.json(比如之前执行了npm init),这个参数会强制合并配置,跳过非空目录的报错

步骤5:安装所有依赖

现在你的package.json已经包含了Angular项目的核心依赖,以及本地的Angular CLI,执行以下命令完成所有安装:

npm install

额外优化:添加npm脚本方便调用CLI

为了不用每次都敲npx ng,可以在package.json的scripts里添加快捷命令:

"scripts": {
  "ng": "ng",
  "start": "ng serve",
  "build": "ng build",
  "test": "ng test",
  "lint": "ng lint",
  "e2e": "ng e2e"
}

之后你就可以用npm run ng <命令>执行CLI操作,比如npm run ng generate component my-component,或者直接用npm start启动开发服务器。

这样设置后,任何人从Git拉取你的项目,只需要执行npm install,就能同时安装好Angular运行依赖和本地CLI,完全不用全局安装Angular CLI啦!

内容的提问来源于stack exchange,提问作者Gil Epshtain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:23:11