具有特定 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?

使用 python 的具有特定算法的词表生成器

生成具有特定数量负数的随机向量

使用javascript生成具有特定时间范围的随机模拟数据

如何使用 spring boot 插件 2.0.x 从一个具有不同依赖项的 gradle 项目生成 2 个 jars

具有特定最小距离的特定正方形(不是单位正方形)中的 2D 泊松盘采样