16

我刚找到 NPX,这个工具可以让你在没有 sudo 权限的情况下安装全局包。我想在我的角度项目中使用它。

我跑

dev@b7ee560044f1:~/project$ npx -p @angular/cli ng version
npx: installed 294 in 6.391s

看起来不错,可以用

但是如果我重试相同的命令,我会得到

dev@b7ee560044f1:~/project$ npx @angular/cli ng version
npx: installed 294 in 4.725s

为什么 NPX 每次都安装 angular cli 包?我以为下载包只执行一次并缓存在某处..

我认为这个命令会起作用,但它没有......

dev@b7ee560044f1:~/project$ npx ng version
npx: installed 1 in 0.98s
command not found: ng
4

5 回答 5

31

正如 Bharat 已经写的那样:-p也许是您正在寻找的东西。

本地(全球)我正在使用@angular/cli@9.0.3.

但是使用以下命令:

npx -p @angular/cli@8 ng new sample-application --style=scss

我能够使用最新的 8.x 版本(8.2.14)创建一个新的 Angular 项目。

于 2020-02-20T17:11:14.413 回答
4

此工具允许您从 npm 注册表运行命令,但 cli 不存储在本地。

PD:别名 ng 用于完全替换名称。@angular/cli 是全名 ng 是别名。您应该使用或运行 npx @angular/cli (命令),例如 generate 将是 npx @angular/cli generate component helloworld

于 2019-08-21T22:06:00.010 回答
2

npx 非常适合用于从 npm 临时安装软件包并运行一次,因此如果您想安装Angular CLI并在之后继续使用它,您需要使用常规npm install命令进行安装:

$ npm install --global @angular/cli

此外,请确保您使用该--global开关,以便可以从系统中的任何位置使用它。

于 2020-02-05T20:07:17.353 回答
0

-p, --package - 定义要安装的包。这默认为 的值。如果您想调用其他可执行文件之一,或者二进制名称与包名称不匹配,则只有具有多个二进制文件的包才需要这样做。如果提供了此选项,则将按原样执行,而不解释 @version(如果存在)。可以提供多个 --package 选项,并且将安装所有指定的包。

有关更多详细信息,您可以参考https://www.npmjs.com/package/npx

于 2019-12-03T06:26:32.150 回答
0

只需添加到@Crazybutch answer,在该项目中第一次“调用”包之后,之后可以使用更短的命令调用 Angular CLI:

npx -p @angular/cli ng new hello-world-project 

npx ng --version
npx ng generate component my-component

也许这对许多人来说是显而易见的,但在某些时候,我认为我必须npx -p @angular/cli ng ...在实际命令之前一次又一次地重新输入。

资料来源:如何在本地使用 Angular CLI

于 2022-02-25T14:53:17.097 回答