Angular 同一台计算机中的不同版本
我和Angular2在几个项目中合作。每个项目都使用不同版本的Angular 同一台计算机中的不同版本,angular,angular-cli,Angular,Angular Cli,我和Angular2在几个项目中合作。每个项目都使用不同版本的angularcli,因此,我需要能够使用正确版本的angularcli分别为生产运行和编译。当我使用save dev本地安装angular cli时,找不到ng命令,因此无法为项目创建生成分发版 因此,问题是,如何在同一台机器上安装多个angular cli版本,而不全局安装(使用-g选项)?,可以在不全局安装angular cli的情况下运行ng命令?您应该始终能够通过运行以下命令来运行当前目录版本的angular cli: no
angularcli
,因此,我需要能够使用正确版本的angularcli
分别为生产运行和编译。当我使用save dev
本地安装angular cli
时,找不到ng命令,因此无法为项目创建生成分发版
因此,问题是,如何在同一台机器上安装多个
angular cli
版本,而不全局安装(使用-g选项)?,可以在不全局安装angular cli
的情况下运行ng命令?您应该始终能够通过运行以下命令来运行当前目录版本的angular cli:
node_modules/.bin/ng <ANY NG COMMAND>
请注意,反勾号用于npm bin
,而不是单引号符号
ng
命令也添加到package.json
scripts
部分,因此也可以像这样运行本地副本:
npm run ng -- <NG_OPTIONS>
这里,npx
将临时安装最新@7版本的@angular/cli
,并使用传递的参数运行其ng
可执行文件
您甚至可以做一些完全无用的事情(因为@angular/cli
的本地副本安装了ng new
)。在@7新项目上使用@6版本的CLI运行ng serve
:
cd <APP_NAME>
npx @angular/cli@6 serve
您可以使用节点版本管理器,它允许您在每个节点版本中使用不同的全局模块
在我的例子中,我在一个项目中使用节点6.9.5和Angular2,在另一个项目中使用节点10和Angular6
您只需注意哪个版本已就位,并像您一样正常工作 如果有人像我一样带着同样的问题来到这里,我发现这种方法是最简单的。我有
@angular/cli@1.7.3
全球安装,因为我有一个从该版本(angular 5.0)创建的正在进行的项目,但我想安装@angular/cli@6.0.0
。
我所做的是安装,然后使用npx
安装npx
frpmnpm
npm install -g npx
使用所需的cli版本创建新项目。使用@angular/cli@latest
或只需@angular/cli
即可获得最新版本
npx -p @angular/cli@6.0.0 ng new my-project
在项目根文件夹中,执行ng--version
以查看cli的版本。但是我建议您对每个使用ng
的命令使用npx
前缀,如下所示
npx ng --version
npx ng generate component my-component
此处,
npx
查找ng
命令存在于/node\u modules/.bin/
目录中并执行它。另一种解决方案如下:
npminit
实例化一个节点项目package.json
文件FROM node:8
WORKDIR /app
RUN npm install -g @angular/cli@6.1.1
建立这个码头工人形象
docker build . -t angular/ng6.1.1
在最后一步中运行docker映像构建
docker run --rm -it -v $(pwd):/app angular/ng6.1.1 ng new hello-angular
您将发现hello angular项目是在您的本地文件夹中创建的,如果您愿意
使用不同的angular版本,在docker文件中更改angular/cli版本并构建
新建docker图像以创建新的角度项目。假设:
a。您已经安装了一个angular版本并在您的机器上工作。现在你想安装一个不同的角度版本
b。您已为当前Angular项目全局安装Angular CLI
c。您正在使用Ubuntu/Linux
几个重要的公司:
$ node -v
$ npm -v
$ ng v
touch~/.bash\u profile
Add following lines in ~/.bashrc file
sudo vim ~/.bashrc
source ~/.nvm/nvm.sh
export NVM_DIR="$HOME/.nvm"
二,。之后,在终端中运行此命令:
curl-o-https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh |bash
iii.不要忘记重新启动终端或使用命令$source~/.nvm/nvm.sh
(这将刷新系统路径中的可用命令)
iv.在终端中,使用命令$nvm--version
,您应该会看到版本
五,。现在安装特定的节点版本
例如新的/角度回购/路径$nvm安装13.11.0
vi.检查使用以下方式安装的节点版本列表:
新建/角度回购/路径$nvm列表
七,。要将特定节点用于当前项目使用,请执行以下操作:
new/angular repo/path$nvm使用v13.11.0
new/angular repo/path$npm install@angular/cli@7.2.4
new/angular repo/path$npm安装
完成上述命令后。确保节点、Angular CLI、NPM和Angular具有预期版本
新建/角度回购/路径$ng v
new/angular repo/path$npm安装npm@version
希望能有所帮助。谢谢您的回复,我从来没有像您说的那样做过。相反,我想知道怎么做。在当前的工作项目中,您可以自由使用所需的angular cli版本,如果全局安装angular cli(-g选项),则在创建生成分发(ng build--prod)时,它将使用本地版本而不是全局版本。这样,您的计算机上始终安装了最新版本,并且可以从ng运行命令,而无需位于本地bin文件夹中。我会把这个问题标记为完成谢谢你的回答!!!上面的评论对我不起作用-但答案有效,即node_modules/。bin/ng这个答案是否取决于某些东西(比如cli),安装为“dev”还是“global”?哪一个?问题是abo
docker build . -t angular/ng6.1.1
docker run --rm -it -v $(pwd):/app angular/ng6.1.1 ng new hello-angular
$ node -v
$ npm -v
$ ng v
Add following lines in ~/.bashrc file
sudo vim ~/.bashrc
source ~/.nvm/nvm.sh
export NVM_DIR="$HOME/.nvm"