スキップしてメイン コンテンツに移動

投稿

NetBeansがアンインストールできない問題

WindowsのコントロールパネルからNetBeans (バージョンは12)をアンインストールしようとしたところ、Javaが正しく設定されていないとかのエラーが出て、アンインストールできなくなってしまいました(画像のキャプチャをとり忘れてしまった)。 NetBeansインストール後に別バージョンのJDKをインストールし直したのが原因かも知れません。筆者の環境ではAdoptOpenJDKのjdk-8とjdk-16をインストールしてありました。 エラーメッセージのダイアログ内に「–javahome」でJDKを指定することができると書いてあったので、PowerShellを管理者モードで起動して、NetBeansのアンインストーラーに「–javahome」オプションを使ってJDKを指定したところ、無事アンインストールできました。 C:\Program Files\NetBeans-12.0> .\uninstall.exe --javahome "C:\Program Files\AdoptOpenJDK\jdk-16.0.1.9-hotspot" 補足 筆者の環境では、NetBeansのアンインストーラーは C:\Program Files\NetBeans-12.0\uninstall.exe にありました。 jdk-8ではunsupported javaバージョンというダイアログが出て、アンインストールが進みませんでした。 アンインストール後もC:\Program Files\NetBeans-12.0のディレクトリが残っていたので手動で削除しました。

Firebaseでエミュレータを設定(確認)する方法

サーバサイドのfirebase-adminの場合 Node.jsを利用したサーバー側では、 process.env を参照するとFirebase functionsの実行環境の情報を取得できます。 firebase-admin を利用したエミュレータ環境の設定も process.env から確認できます。index.jsに下記のログ出力を加えてみます。 console.log(JSON.stringify(process.env, null, 3)); firebase emulators:start を実行してエミュレータ環境でfirebaseを起動させると、エミュレータの設定状況に応じて、下記のようなエントリがログ出力されます。 "FIREBASE_AUTH_EMULATOR_HOST" : "localhost:9099" "FIREBASE_DATABASE_EMULATOR_HOST" : "localhost:9000" , "FIREBASE_STORAGE_EMULATOR_HOST" : "localhost:9199" , "FIRESTORE_EMULATOR_HOST" : "localhost:8080" , "FUNCTIONS_EMULATOR" : "true" index.js内で firebase-admin から作成されたサービスはすべてエミュレータに接続されます。 const admin = require ( 'firebase-admin' ) ; admin . initializeApp ( { credential : admin . credential . cert ( "XXXXXXXX.json" ) , storageBucket : "YYYYYYY.appspot.com" , } ) ; admin . firestore ( ) ; admin . storage (

Firebase functionでPromiseをreturnしないとPromise内の処理が不安定になる

Node.jsでfirebase functionsを開発していると、Promiseを使う場面が多いと思いますが、Promiseをfunctionでreturnしないと、functionの処理に非常に時間がかかったり、処理が非常に不安定になるようです。 const myPromise = new Promise ( ( resolve , reject ) => { // なんか処理 } ) ; // myProimise内での処理とは無関係にfunctionのレスポンスを返す。→ 不安定 exports . notReturnPromise = functions . https . onCall ( ( data , context ) => { myPromise . then ( ( ) => { } ) ; return { "code" : "success" } ; } ) ; // myProimise内での処理が終わったらfunctionのレスポンスを返す。→ レスポンスは遅くなるが安定 exports . returnPromise = functions . https . onCall ( ( data , context ) => { return myPromise . then ( ( ) => { return { "code" : "success" } ; } ) ; } ) ; 筆者の環境ではPromiseをreturnしなかった場合、下記のような不具合が多発しました。 Cloud Storageへのアップロードに時間がかかったり、SSLの認証で落ちる firestoreのtransaction処理でエラーが多発 timeout transaction missingなどなど functionでPromiseをreturnするようにしたところ、上記の問題は発生しなくなりました。 functionはPromiseがresolveされるまで、レスポンスを返さないので、Promiseのresol

Windowsで英語化したのに一部日本語が残ってしまった問題

Windowsの表示言語を英語化したにもかかわらず、一部、日本語が残ってしまうという問題に遭遇しました。具体的には、下記のキャプチャのように、Windowsの設定のサジェストで表示される部分に日本語が残ってしまいました。 Googleで調べて下記の方法を試してみましたが、いずれの方法でも解決しませんでした。 レジストリ確認 言語設定まわりの設定 Power Shellから日本語の言語パックをアンインストール うまく行った方法 表示言語を日本語に設定する ↓ パソコン再起動 ↓ 表示言語を英語に設定する ↓ 日本語の言語パックをアンインストール ↓ パソコン再起動 ↓ 完全に英語表示になった。 必要に応じて、日本語の言語パックを再度インストール。 最終手段 前述の方法でもうまく行かないパソコンもあったので、さらに調査したところ、言語パックを完全に再インストール(Windowsにキャッシュされていない状態)できれば、直ることがわかってきました。 ところが、言語パックを再インストールしても、Windowsに残っているキャッシュを再利用してしまうようで、何度やっても一部日本語が残ってしまうので悪戦苦闘していました。 結局、まだ初期にセットアップしたばかりのアカウントだったので、 ユーザを作り直して英語の言語パックを入れ直した ところ、完全に英語化されました。あまりスマートではないですが、結果オーライです。。。

Unity 2021.3.3f1でのAndroidビルド失敗

事象 下記のエラーが出てAndroidビルドに失敗。他にもエラー出ていたが下記のエラーが根本原因。 FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':launcher:mergeReleaseNativeLibs'. > A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade > More than one file was found with OS independent path 'lib/arm64-v8a/libopenxr_loader.so'. If you are using jniLibs and CMake IMPORTED targets, see <https://developer.android.com/studio/preview/features#automatic_packaging_of_prebuilt_dependencies_used_by_cmake> * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at <https://help.gradle.org> BUILD FAILED in 24s 重要なのは、 「More than one file was found with OS independent path ‘lib/arm64-v8a/libopenxr_loader.so’」 の部分。 どうもlibopenxr_loader.soがビルド時に複数参照されていることが原因のよう。libopenxr_loader.soファイル自体はOpen XRプラグインに含まれている。

UnityプロジェクトでNuGetパッケージを入れる

(方法1) NuGetでDLLを落としてきてプロジェクトに含める UnityプロジェクトでNuGetパッケージを入れる方法は、こちらの動画が参考になります。 https://www.youtube.com/watch?v=GRn49ehm_pI CLIからNuGetパッケージをインストールする一般的な方法。 https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-powershell (方法2) NuGet for Unityを使う https://baba-s.hatenablog.com/entry/2018/01/25/095900 を参考。 https://github.com/GlitchEnzo/NuGetForUnity/releases/ から NuGetForUnity.X.X.X.unitypackageをダウンロード。 Unity プロジェクトにインポート。 インポートするとUnity内にNuGetのメニューが追加される。クリックするとウィンドウが開くのでそこから必要なNuGetパッケージをインストール。