Rei*_*era 15 angular-cli angular
我在几个项目中使用angular2.每个项目都使用不同版本的angular-cli,因此,我需要能够使用正确版本的angular-cli分别运行和编译生产.当我使用save-dev安装angular-cli local时,找不到ng命令,所以我无法为项目创建构建分发.所以问题是,如何在同一台机器上安装多个angular-cli版本,而无需全局安装(使用-g选项)?,可以运行命令而无需全局安装angular-cli?请向任何指向正确方向的人表示非常感谢.
提前致谢...
And*_*riy 22
您应该始终能够通过运行以下命令在ANGULAR CLI的当前目录版本上运行本地:
node_modules/.bin/ng <ANY NG COMMAND>
Run Code Online (Sandbox Code Playgroud)
而不仅仅是
ng <ANY NG COMMAND>
Run Code Online (Sandbox Code Playgroud)
只需确保,您从主package.json所在的根目录运行此命令(及其node_modules目录)
有一个npm命令返回node_modules/.bin路径(可用于更短的写入):
`npm bin`/ng <ANY NG COMMAND>
Run Code Online (Sandbox Code Playgroud)
请注意,使用后面的刻度npm bin而不是单引号.
万一其他人像我一样遇到同样的问题,我发现这种方法最简单。我已经@angular/cli@1.7.3从该版本(大致为Angular 5.0)创建了一个正在进行的项目,所以我已经进行了全局安装,但想要安装@angular/cli@6.0.0。我所做的是安装npx并使用创建项目npx
安装npxfrpmnpm
npm install -g npx
Run Code Online (Sandbox Code Playgroud)
使用所需的cli版本创建新项目。使用@angular/cli@latest或仅@angular/cli用于最新版本。
npx -p @angular/cli@6.0.0 ng new my-project
Run Code Online (Sandbox Code Playgroud)
在项目根文件夹中,执行ng -v以查看cli的版本。但是我建议您npx对每个使用ng如下命令的命令使用前缀。
npx ng -v //or npx ng -version
npx ng generate component my-component
Run Code Online (Sandbox Code Playgroud)
在这里,命令npx查找ng在./node_modules/.bin/目录中本地存在并执行。
小智 5
创建一个 Dockerfile
FROM node:8
WORKDIR /app
RUN npm install -g @angular/cli@6.1.1
Run Code Online (Sandbox Code Playgroud)
构建这个 docker 镜像
docker build . -t angular/ng6.1.1
Run Code Online (Sandbox Code Playgroud)
运行最后一步中的 docker 镜像构建
docker run --rm -it -v $(pwd):/app angular/ng6.1.1 ng new hello-angular
Run Code Online (Sandbox Code Playgroud)
你会发现 hello-Angular 项目已在本地文件夹中创建,如果你想使用不同的 Angular 版本,请更改 docker 文件中的 Angular/cli 版本并构建新的 docker 映像来创建新的 Angular 项目。
| 归档时间: |
|
| 查看次数: |
11709 次 |
| 最近记录: |