在使用JHipster生成代码的过程里,借鉴代码的功能实现方式是一个不错的学习方法,最近JHipster做了一个版本较大的升级,由于Marketplace中的很多blueprint只支持低版本的JHipster,为了生成blueprint代码需要在系统中同时安装一个低版本的JHipster,这时候全局安装的话会和高版本的发生冲突,我们需要对npm进行设置,让低版本的JHipster安装在另一个目录。
一个简便易行的方法是把默认的.npmrc文件改变为一个软链接文件,然后通过改变软链接所指向不同的.npmrc文件来设置prefix这个变量。
这里可以安装npmrc,它提供了一些命令行工具,可以很方便的实现以上功能。
全局安装npm install -g npmrc完成以后,执行npmrc就会把默认的.npmrc变为软链接,并指向./npmrcs/.npmrc文件。
执行npmrc -c newnpmrc会创建文件./npmrcs/.newnpmrc,并同时把软链接指向这个文件。
或者执行npmrc newnpmrc实现把软链接指向./npmrcs/.newnpmrc。
另外npmrc -r cn可以把npm库指向中国镜像也是一个非常方便的功能。
利用这个工具,我们做如下操作就可以安装两个不同版本的JHipster:
- npm i -g npm rc
- npmrc -c jhipster6
- set prefix=c:\jhipster6
- npm i -g generator-jhipster@6.3.1
- npmrc -c jhipster7
- set prefix=c:\jhipster7
- npm i -g generator-jhipster
最新版本的jhipster被安装在c:\jhipster7,而版本6.3.1安装在c:\jhipster6。
在执行jhipster命令时,只要执行npmrc jhipster7,或者npmrc jhipster6就可以在不同版本的jhipster来回切换。
注意:如果运行jhipster --blueprint,由于blue prints是根据node.exe的位置去查找,需要把node.exe拷贝至c:\jhipster7或者c:\jhipster6。
Good Luck,
Cheers!