具有特定ng/nrwl版本的项目生成器



遗憾的是,由于一些原因,我们无法使用angular 12版本,因此我们不想使用当前版本的ng和nrwl。

我没有找到关于如何使用特定版本的ng生成项目的文档。它似乎总是使用最新的版本。但是我们需要使用旧版本(^10.0.0)。

我是这样做的:

yarn global add @nrwl/cli@10.0.6
yarn create nx-workspace myProject --style=scss --preset=empty --nx-cloud=false --cli=angular

但这将使用12.6.5版本:

"@angular/cli": "~12.1.0",
"@nrwl/tao": "12.6.5",
"@nrwl/cli": "12.6.5",
"@nrwl/workspace": "12.6.5",
"@types/node": "14.14.33",
"dotenv": "~10.0.0",
"ts-node": "~9.1.1",
"typescript": "~4.3.5",
"prettier": "^2.3.1"

我喜欢避免使用所有的^12版本,而使用这些库的^10版本。

当我尝试(我不确定这是否正确的语法):yarn create nx-workspace@10.0.6 myProject --style=scss --preset=empty --nx-cloud=false --cli=angular它不成功。

我得到一个错误,如:
success Installed "create-nx-workspace@10.0.6" with binaries:
- create-nx-workspace
/bin/sh: /usr/local/bin/create-nx-workspace@10.0.6: No such file or directory
error Command failed.

如果有人能告诉我如何在特定版本中执行create nx-workspace命令,我将不胜感激。

根据文档,命令yarn create nx-workspace总是install latestcreate-nx-workspace然后运行它的垃圾箱。这就是为什么你总是看到它install version12.x.

相反,您可以拆分并手动执行这些步骤。请注意,我们直接运行全局bin,在本例中使用yarn create而不是:

yarn global add create-nx-workspace@^10.0.0
create-nx-workspace myProject --style=scss --preset=empty --nx-cloud=false --cli=angular

正如其他人所建议的那样,为了生成具有特定版本(例如v11或v8)的angular,您必须首先卸载已安装的全局版本。

我将添加npm示例,因为这是我所知道的;如果提供了纱线示例,我可以在稍后的时间更新答案。

npm uninstall -g @angular/cli

接下来你需要找到特定的发布版本并安装

npm install -g @angular/cli@v11.0.0

从此时起,您的全局CLI引用将是已安装的版本。

奖金提示如果你有很多项目运行在不同版本的angular上,你可以通过npm run-script ng XYZ这样的命令来定位node_modules文件夹中的ng

最新更新