JHipster(Java Hipster)って何ぞ~?

JHipster(Java Hipster)の勉強会に参加してきました。

techplay.jp

⇧  前々から、JavaフレームワークJavaScriptフレームワークの連携をしたいな~と思っていたところ、今は、JHipster なるものがあるんだと。

株式会社ドリーム・アーツ のCTO 石田健亮 さんが仰るには、JHipster 自体は結構、昔からあるそうで、日本が見事にガラパゴス化状態になっていると...

ガラパゴス化を脱せねば!

 

石田様が手順化してくれています。

github.com

 

ではでは、レッツ~トライ

 

JHipster(Java Hipster)って?

Wikipediaさ~ん!

JHipster is a free and open-source application generator used to quickly develop modern web applications and Microservices using Angular or React (JavaScript library) and the Spring Framework.

JHipster - Wikipedia

⇧  バックエンドが、JavaフレームワークのSpring Bootで、フロントエンドがJavaScriptのAngular JS、もしくは、React.jsらしいと。 

JHipster provides tools to generate a project with a Java stack on the server side (using Spring Boot) and a responsive Web front-end on the client side (with Angular and Bootstrap).

It can also create microservice stack with support for Netflix OSS, Docker and Kubernetes.

JHipster - Wikipedia

⇧  マイクロサービスでもあるんだと。

世界的には、2014年ごろに紹介されてたらしい...

www.infoworld.com

 

JHipsterの構築に必要なもの

 最低限、

 ⇧  があれば良いそうです。

自分は、git、JDK 8、Mavenあたりはインストールしているので、割愛しています。

Jhipster構築には、Javaのビルドツールとしては、Maven以外にも、Gradleが使えるみたいです。

 

github.com

⇧  「1. JHipster環境をローカルに構築」を参考に環境構築してみてください。

まっさらの環境でしたら、上記サイト様の手順でスムーズにいけるはずです。

 

nvm windows(NVM4W)のインストール

何はともあれ、npmコマンドが必須なので、すなわち、Node.jsが必要なんですが、パッケージ管理ツールでインストールが推奨されているわけですが。

な、なんと、WindowsのNode.jsのパッケージ管理ツールの「Nodist」がメンテされていないらしい...。

qiita.com

⇧  上記サイト様が詳しいです。

結論から言うと、Nodistがインストールされていると上手くいきませんので、Nodistが入っている場合は、アンインストールしちゃってください。 アンインストール手順は、ページの後半でやってますので、そちらをご参照ください。

 

で、Windowsの場合、いまは、「nvm-windows」ってのが、ナウい、否、良いらしい。

github.com

⇧  上記サイト様がリリースしてくれてるらしい。

ページをスクロールして、「Download Now」ってリンクをクリック。

f:id:ts0818:20190203001242p:plain

「mvn-setup.zip」をダウンロードすれば良いらしい。

f:id:ts0818:20190203001414p:plain

ダウンロードしたzipの中の「mvn-setup.exe」を実行で。

f:id:ts0818:20190203001630p:plain

インストーラーが起動。「I accept the agreement」にチェックし、「Next >」。

f:id:ts0818:20190202160350p:plain

「Next >」。 

f:id:ts0818:20190202160449p:plain

「Next >」。 

f:id:ts0818:20190202160526p:plain

「Install」。 

f:id:ts0818:20190202160551p:plain

「Finish」。

f:id:ts0818:20190202160643p:plain

んで、コマンドプロンプトかPower Shell を管理者権限で起動。

コマンドプロンプトの場合

f:id:ts0818:20190203105706p:plain

■ Power Shell の場合

f:id:ts0818:20190203112056p:plain

⇧  コマンドプロンプト、Power Shell、どっちも実行するコマンドは一緒ですが、管理者権限での起動は忘れずに。

 

で、「C:\Program Files\nodejs」っていうシンボリックリンクが勝手に作成されるようです。

stackoverflow.com

nvm-windows creates a symlink in C:\Program Files\nodejs and when you run nvm use x.x.x it updates the symlink to point to the right version under C:\Users\%user%\AppData\Roaming\nvm\vx.x.x (this is where different node versions getting installed)

node.js - running tow node version using nvm-windows in parallel - Stack Overflow

⇧  nvm use コマンドで、シンボリックリンクが更新されるらしい。

 

シンボリックリンクをダブルクリックすると、

f:id:ts0818:20190203105848p:plain

ん?シンボリックリンクに成ってなくない?

f:id:ts0818:20190203110241p:plain

はい、バグでした...

github.com

This issue should be resolved as of version 1.1.8.

If you are working with an older version...

Some environments aren't picking up on space-escaping. If you're having problems with Windows recognizing NVM4W, try installing it on a path with no spaces, like C:\nvm. The same situation is relevant for the symlink path, so you may want to use something other than C:\Program Files\nodejs for the symlink root.

Common Issues · coreybutler/nvm-windows Wiki · GitHub

⇧  スペースを含むフォルダにインストールした場合、シンボリックリンクが効かないらしい...

Windowsの権限問題についても、

Windows requires elevated administrative privileges to perform specific functions or use special directories. For example, administrative privileges are required to write to anything in C:\Program Files. Elevated permissions are required to use Windows mklink command, which is responsible for the nvm use command.

Common Issues · coreybutler/nvm-windows Wiki · GitHub 

There is no way around this, because it's a security feature of the operating system. Every program has to deal with this. Remember that NVM4W is basically an installer, so it needs installer-like permissions.

Common Issues · coreybutler/nvm-windows Wiki · GitHub 

Several people have complained about this, and I'm sorry... but I'm not the guy to talk to about that. Your best bet is to reach out to Microsoft.

Common Issues · coreybutler/nvm-windows Wiki · GitHub

なんか不安要素があるんでしょうかね... 

というわけで、一旦、アンインストールで。「C:\Users\[ユーザー名]\AppData\Roaming\nvm\unins000.exe"」をダブルクリックで。

f:id:ts0818:20190203114526p:plain

アンインストーラーが起動するので、「OK」。

f:id:ts0818:20190203114600p:plain

「はい(Y)」。

f:id:ts0818:20190203114629p:plain

「OK」。

f:id:ts0818:20190203114658p:plain

そしたらば、再度、ダウンロードしたzipの中の「mvn-setup.exe」を実行で。シンボリックリンクのパスを、空白を含まないパスにします。

f:id:ts0818:20190203115046p:plain

でインストールが完了したらば、再度、nvmをインストール。シンボリックリンク更新。

f:id:ts0818:20190203115321p:plain

Cドライブ直下のシンボリックリンクをダブルクリックからの~

f:id:ts0818:20190203120103p:plain

駄目やんけ!

f:id:ts0818:20190203120405p:plain

プロパティの、

f:id:ts0818:20190203141850p:plain

「ファイルの場所を開く(I)」からだと、

f:id:ts0818:20190203141940p:plain

参照先にいけるのですが...

f:id:ts0818:20190203142020p:plain

で、Yeomanをインストールしようとすると、なんか、

f:id:ts0818:20190203145735p:plain

Nodistのほうにインストールされてるっぽい...

f:id:ts0818:20190203145905p:plain

完全にNodistのほうが利用されてしまっている...

f:id:ts0818:20190203150335p:plain

なので、Nodistのほうで、Node.jsのバージョン10.15.0のものをインストールし、

f:id:ts0818:20190203152728p:plain

10.15.0のものを使うと指定し、それに合うnpmをインストール。

f:id:ts0818:20190203152829p:plain

改めて、JHipsterで。

f:id:ts0818:20190203152619p:plain

なんかいろいろ選択肢を選んで、

f:id:ts0818:20190203155135p:plain

実行されるんですが、

f:id:ts0818:20190203155050p:plain

f:id:ts0818:20190203155506p:plain

⇧  なんかNodistだと上手くいかないっぽい...
というわけで、Nodistをアンインストール。

okakacacao.wpblog.jp

⇧  上記サイト様を参考に。

 アンインストーラーを起動。

f:id:ts0818:20190203160216p:plain

f:id:ts0818:20190203160258p:plain

f:id:ts0818:20190203160326p:plain

f:id:ts0818:20190203160350p:plain

ていうか、アンインストーラーで完全にきれいにならないとかやめて欲しい。

f:id:ts0818:20190203160522p:plain

⇧ 自分の場合は、chocolateyでインストールしていたので、「C:\Program Files (x86)\Nodist」ってディレクトリにNodist関連のフォルダやらファイルが。

「C:\Users\[ユーザー名]\.npmrc」も消す必要があるらしい。

f:id:ts0818:20190203160856p:plain

自分は、「C:\Users\[ユーザー名]\AppData\Roaming\npm」、「C:\Users\[ユーザー名]\AppData\Roaming\npm-cache」あたりも削除しときました。

 

「NODE_PATH」「NODIST_PREFIX」「NODIST_X64」の環境変数も消しときます。

f:id:ts0818:20190203161542p:plain

で、もう一回、nvm-windowsを入れ直してみます。

そのあと、Yeomanのモジュールをインストール。

f:id:ts0818:20190203162238p:plain

f:id:ts0818:20190203163136p:plain

いろいろインストールされました。

f:id:ts0818:20190203163317p:plain

Windowsの場合は、

mvnw.cmd   

じゃないと動かないですね。

www.vogella.com

ファイヤーウォール出たら、許可します。

f:id:ts0818:20190203164247p:plain

f:id:ts0818:20190203164325p:plain 
ブラウザで、「http://localhost:8080」にアクセスすると、スキャットフォールドできてます。

f:id:ts0818:20190203164441p:plain

 

とりあえず、一旦は、ここまでで。NodeまわりがほんとWindowsだと上手くいかないことが多いみたいですが、なんとか解決できて良かったです。

1日を無駄にしてしまいましたが(涙)。

 

今回はこのへんで。