おはよう君需要なし

求不得苦な日々

椅子を買ったので文化的な生活を送りたいとは思うが

新居になって机も椅子も失った私はちゃぶ台(折り畳みできる机?)で作業をしており、何事にも没頭できない生活をしていました。

アールエフヤマカワ エコノミーテーブル W1200xD600 RFEMD1260W

アールエフヤマカワ エコノミーテーブル W1200xD600 RFEMD1260W

で、3月にこの机を買ったのですが、なんと椅子を買い忘れるという事態…!  この度やっとのことで椅子を購入するに至りました。

今までの経験からいうと、個人的にはアームレストもデカすぎる背もたれ(ヘッドレスト?)も大してうれしい機能ではなかったので シンプル路線でいってみました。

ただこの椅子ちょっとデカい。

幅1200の机に対して幅500の椅子は、 机下のスペースが机の幅よりも必然的に狭くなることを考えると大きすぎる気がしました。

実際にこのアールエフヤマカワの机の机下スペースを測ってみると1030ぐらいでした。

とはいえ、現状は机の下に引き出しを置くなどはしていないので非常に快適です。

椅子も座り心地がよく、無駄に座っていたくなります笑

というわけで、ちょっとは寝て起きるだけでなく文化的な生活をしたいなと思っています。

ブログの更新でも再開しようかな

WindowsでのReact Nativeの環境構築に躓いた話

React Nativeがアツい

React Nativeとは端的に言うとReactで書いたプログラムがAndroidiOSで動いてしまうというすごい技術です。

Reactを用いて外部APIとの連携をするSPAを普段から書いているエンジニアにとってとても有用なモノなのではないか(と思っている)。

AndroidiOSのアプリが吐けるわけなので、Windows用にも当然(?)アプリを吐くことができ、デバッグも容易そうだ(と思っている)。

一時期Xamarinにも興味を持った私ですが、Cで書いたネイティブのライブラリを使用するなどの用途でない場合は Xamarinを使う必要ないのではないかとまで考えています。

React Native環境構築

とりあえず環境構築をしなければ始まらない、ということで備忘です。

私はどちらかというとWindows用のアプリを吐ける、ということに興味を持ったのでLinuxでもMacでもなく Windowsで環境構築を行っていきます。

nodeのインストール

まずはnode.jsを入れます。私は適当に8.11.2のzipをダウンロードしてきてPATHを通しました。詳しく書いているサイトがほかにあるはずなのでこちらはそれを参照してほしいです。

使ってみるとnpmのバージョンが古いといわれるのでバージョンを上げます。 こちらはnpm install -g npmするだけかと思いきや、「既にファイルがあるぞ」と怒られるので、npmやnpm.cmd、npxやnpx.cmdといったファイルをそれぞれ npm_old, npx_oldなどにリネームしてから

npm_old install -g npmとして回避しました。

react-nativeアプリの生成ツールのインストール

create-react-native-appというReact Nativeアプリを作ってくれるnpmパッケージがあります。便利ですね。

npm install -g create-react-native-app

アプリの生成

create-react-native-app AwesomeProject

ワンコマンドでいろいろと揃えてくれます。便利ですね。

アプリの実行

cd AwesomeProject
npm start

これを実行するだけで立ち上がります(ということになっています)。

環境構築で躓いた点

Error: Invalid sdkVersion. 問題

Error running adb: socket hang up 問題

要は

Proxyがいろいろと悪さをしていました。内部でaxiosというHTTPリクエストを送るライブラリが使用されているのですが、そこで通信をするときにHTTP_PROXYという環境変数を見ていて、それが不適切だと通信に失敗し必要なものがダウンロード・インストールされていなかった、というのが原因みたいでした。

つまりエラー表示が不適切!という感じでした

終わりに

ちょっと時間がないので解決方法について詳細な手順を書く暇がありません。もし需要があればコメントなりで反応してくれれば書きますので。

最後の最後に

また、今回はcreate-react-native-appというスクリプトを使ってReact-Nativeの雛形を作るということを試してみましたが、どうもこの方法で作ったアプリケーションでは、visual studio codeのreact-native用の拡張機能が正しく動作しないようです。

まぁreact-native-cliスクリプトを使ってアプリを作りましょう、というのが私の最終的な結論になりそうです。