我刚刚发现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
答案 0 :(得分:13)
正如巴拉特已经写道:-p
也许就是您想要的。
本地(全局)我正在使用@angular/cli@9.0.3
。
但是使用以下命令:
npx -p @angular/cli@8 ng new sample-application --style=scss
我能够使用最新的8.x版本(8.2.14)创建一个新的angular项目。
答案 1 :(得分:1)
npx理想地用于从npm临时安装软件包并运行一次,因此,如果要安装Angular CLI并在以后继续使用它,则需要使用常规的npm install
命令进行安装:
$ npm install --global @angular/cli
另外,请确保使用--global
开关,以便可以从系统中的任何位置使用它。
答案 2 :(得分:0)
此工具允许您从npm注册表中运行命令,但cli不在本地存储。
PD:别名ng用于完全替换名称。 @ angular / cli是全名ng是别名。您应该使用或运行npx @ angular / cli(命令),例如generate会是npx @ angular / cli生成组件helloworld
答案 3 :(得分:0)
-p,--package-定义要安装的软件包。默认为的值。仅当您要调用其他可执行文件之一,或者二进制名称与软件包名称不匹配时,才需要具有多个二进制文件的软件包。如果提供了此选项,则将按原样执行,而无需解释@version。可能会提供多个--package选项,并且将安装所有指定的软件包。
有关更多详细信息,请参阅https://www.npmjs.com/package/npx。