如何在本地安装Angular CLI(不带-g标志)

Gil*_*ain 19 node-modules npm-install angular-cli angular

我刚开始用角与工作角CLI和我见过的,根据该文件,我需要安装$ npm install -g @angular/cli使用-g(全局)标志.

但是我想在本地安装Angular-CLI和其余的node_modules包.这样,当我从git下载我的项目时,我可以简单地运行$ npm install(用于在我的package.json中安装所有依赖项).

我试图通过运行来创建一个新的项目$ npm init,然后运行$ npm i @angular/cli -D(-D是一样的--save-dev).但是当我运行$ ng new project-name一个新的子目录时,创建了一个单独的node_modules目录.

Jes*_*ier 20

正如一些评论所暗示的那样,您可以在系统上使用本地和全局版本的angular cli.

能够访问本地版本而不是全局版本(假设您在本地安装了不同版本,然后使用全局安装) npm run-script ng

例如 npm run-script ng generate component SomeCoolComponent

在github上查看这个回答类似的问题:https://github.com/angular/angular-cli/issues/5955#issuecomment-320273493

  • 这对于我的问题是完美的,因为我的问题是能够在不能安装全局版本的构建服务器上执行本地程序包而不是全局程序包。 (2认同)

Car*_*ona 18

简答/TLTR

通过指定 package 来启动你的项目-p @angular/cli,这样 node 就可以找到程序:

npx -p @angular/cli ng new <project-name>
Run Code Online (Sandbox Code Playgroud)

长答案

npm 生态系统越来越倾向于将工具安装为project-local devDependencies,而不是要求用户全局安装它们。这被认为是一种很好的做法。因为它允许使用多个版本(每个项目一个),而不是只有一个唯一的全局版本。

为了从头开始项目,需要指向带有-pflag的包(否则npx会找不到):

npx -p @angular/cli ng new <project-name>
Run Code Online (Sandbox Code Playgroud)

- npx

npx是与node和一起安装的命令npm,从 5.2 版(2017 年 7 月)开始。很可能你已经安装了它。

npx允许您运行该 npm 命令而无需在本地安装它。npx将查找指定包的最新版本(在本例中@angular/cli)并ng从 bin 文件夹运行命令。

- 特定版本

您还可以安装特定版本的 Angular CLI。例如,假设我们需要安装 9.1 版。我们可以运行:

npx -p @angular/cli@9.1 ng new <project-name>
Run Code Online (Sandbox Code Playgroud)

- 一旦安装

Angular CLI 安装项目后,进入文件夹,npx ng直接使用。例如:

npx ng serve
Run Code Online (Sandbox Code Playgroud)

这将在node_modules/.bin/文件夹内搜索ng命令,这是一个指向../@angular/cli/bin/ng本地安装ng命令的软链接。

链接


Jun*_*aid 10

使用名为npx的包npm i -g npx,当你需要创建一个角度项目时,第一次使用这个命令npx -p @angular/cli ng new hello-world-project

.例如,如果你想创建angular 4项目修改上面的命令,包括angular-cli版本1.4.10,就像这样npx -p @angular/cli@1.4.10 ng new hello-world-project,然后当您的项目设置完成后,您可以返回使用普通ng generate命令和其他命令.

Angular-cli版本指示哪个角度版本将与项目相关联&angular-cli 1.4.10创建角度4项目

  • `npx`现在默认安装了5.2+的`npm`,即**node.js**的默认管理器.这应该是2018年更广泛接受的答案 (3认同)

Y Y*_*Y Y 5

要在本地安装 angular:

npm init -y
npm i @angular/cli
npx ng new app-name
Run Code Online (Sandbox Code Playgroud)

要更新本地安装的 angular 版本,比如从 8.x 到 9.x,你可以使用

npx ng update @angular/core@9 @angular/cli@9
Run Code Online (Sandbox Code Playgroud)


jor*_*are 1

要从命令行使用 ng,它需要位于该目录或系统 PATH 变量中。

在你有一个项目之前,你没有可用的ng。安装它只npm i @angular/cli会将其安装在 node_modules 文件夹中,而不会使其在 PATH 中可用。

因此,它需要至少全局安装一次,因为全局安装的节点模块可以选择在 PATH 中可用。

完成此操作后,您可以在项目文件夹中安装您选择的版本,因为全局版本存在时将使用该版本。