具有特定 ng/nrwl 版本的项目生成器
Posted
技术标签:
【中文标题】具有特定 ng/nrwl 版本的项目生成器【英文标题】:Project generator with specific ng/nrwl versions 【发布时间】:2021-10-12 22:37:38 【问题描述】:遗憾的是,由于多种原因,我们无法使用 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 命令,我将不胜感激。
【问题讨论】:
您使用的是哪个 Angular cli 版本? 从本地机器上移除你的全局 Angular cli。然后运行npm install -g @angular/cli@10.0.0
安装 Angular cli 版本 10。
thx,但这不起作用,我已经尝试过了。我猜这些版本是通过nx-workspace
脚本设置的。
【参考方案1】:
According to the docs,命令yarn create nx-workspace
将总是 安装最新的create-nx-workspace 并运行它的bin。这就是为什么您总是看到它安装版本 12.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
【讨论】:
【参考方案2】:正如其他人所建议的那样,为了生成具有特定版本(比如 v11 或 v8)的 Angular,您必须先卸载已安装的全局版本。
我将在 npm 示例中添加它,因为这是我所知道的;如果提供了纱线示例,我可以稍后更新答案。
npm uninstall -g @angular/cli
接下来,您需要找到特定的发布版本并安装它
npm install -g @angular/cli@v11.0.0
从此时起,您的全局 CLI 参考将是已安装的版本。
额外提示,如果您正在处理许多在不同版本的 Angular 上运行的项目,您可以通过以下命令定位 node_modules 文件夹的 ng
npm run-script ng XYZ
.
【讨论】:
以上是关于具有特定 ng/nrwl 版本的项目生成器的主要内容,如果未能解决你的问题,请参考以下文章
如何从视图生成 Django 管理站点中特定项目的 url?