Node.js関連のことを調べてみた2022年01月10日

Node.js関連のことを調べてみた2022年01月10日
目次

React Nativeのstart時にエラー

npx react-native start
コマンド実行時に下記のようなエラーが出た。

failed to construct transformer envelope routines::unsupported

digital envelope routines::initialization error

そのため、npx react-native run-androidを実行すると、Androidの仮想デバイスも赤いエラー画面が出力。

調べたところ、どうやらnode.jsのバージョンがいけないらしい。
自分が使っていたのは最新バージョンの17.3.0
v17でこのエラーが発生するようなので、安定バージョンの16.13.1にダウングレードすることで解決しました。

ちなみにnode.jsのダウングレードはWindowsだとコントロールパネルからnodejsをアンインストールして、
node.js公式から16.13.1をダウンロードして、インストーラを走らせるだけ。

元記事を表示

お正月休みにGitをインタラクティブに操作できるサブコマンドツール作ってきました

年末からお正月にかけての時間で趣味でツールを作ってみました?
Gitのちょっと面倒な操作をインタラクティブに行えるGitのサブコマンドツール[git-ex](https://github.com/yasukotelin/git-ex-js)を作成してnpmに公開しています。

https://github.com/yasukotelin/git-ex-js

https://www.npmjs.com/package/@yasukotelin/git-ex

僕は普段はAndroidエンジニアとしてKotlinを書いていますが、趣味ではVimのカラースキーム作ったり、Goでツール作ったり、Rustに手を出したり、、、など色々しています。今回はJavaScriptのターミナルのライブラリがとても良さそうだったのでnode製のCLIツールを作ってみました?!

このQiita記事では前半にツールの紹介と、後半で実装面を書いてみようと思います。

## ツールの紹介

僕は普段Gitをターミナル上でコマンドで使っているのですが、たまにSourceTreeなどのGUIツールやTIGなどのツール

元記事を表示

Dockerで安全にnode.jsウェブアプリをコンテナ化する

Happy New Year!
年末、年始があっという間に終わり、明日は成人の日。
来週からコーディングのオンラインクラスを受けることになった。4−6ヶ月になりそうであるが、無事乗り切れるのか、少々不安も。javascriptを習得するコースなため、最終的にnode.jsのサーバーサイドでのコーディングもできるようになるまでの知識を得られるよう頑張ろう。node.jsの環境構築に不可欠ともいえるdocker。
今回は、[10 best practices to containerize Node.js web applications with Docker](https://snyk.io/blog/10-best-practices-to-containerize-nodejs-web-applications-with-docker/)
の翻訳記事のご紹介です。

こんかい翻訳に苦労しmした。読みにくい部分もあると思いますが、どうぞ最後までお付き合いください。

#Dockerでnode.jsウェブアプリケーションをコンテナ化するための10のベストプラクティス

LiranTal

元記事を表示

Node.js: MySQL 8.0 で接続エラーが出た時の対策

次のエラーが出た時の対策です。

“`text
code: ‘ER_NOT_SUPPORTED_AUTH_MODE’,
errno: 1251,
sqlMessage: ‘Client does not support authentication protocol requested by server; consider upgrading MySQL client’,
sqlState: ‘08004’,
fatal: true
“`

エラーが出るプログラム

“`js:maria_version.js
#! /usr/local/bin/node
// —————————————————————
// maria_version.js
//
// Jan/09/2022
//
// —————————————————————
‘use strict’

// ———

元記事を表示

Githubにある自作のnpmモジュールをnpm installしてENOENTなエラーが出た時

# はじまり

自分で作ったnpmモジュールをubuntu環境へinstallしようとしたときに以下のエラーが出ました。

“`bash:log
root@ca04e13630cb:/usr/app# npm install git+https://github.com/Landmaster135/FeedFetcher.git
npm ERR! code ENOENT
npm ERR! syscall spawn git
npm ERR! path git
npm ERR! errno -2
npm ERR! enoent An unknown git error occurred
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2022-01-08T17_49_46_172Z-debug-0.

元記事を表示

nvm-windowsを使ってnodeをバージョン管理

## 最初に

node v12を使っていましたが、メンテナンスも2022.4月で切れるのでバージョンアップしなければと思いつつ、のびのびにしていました。
qiita投稿に慣れるためにもv16アップデートしてみます。

### 環境
os: windous10
node12⇒node16

## バージョン管理ツール選択

nodeのバージョン管理ツールはいくつかあるみたいだが、windowsだと選択肢少ないみたい。スター数の多いnvm-windowsにしてみた。

参考

[Node.jsのバージョン管理ツールを改めて選定する【2021年】](https://qiita.com/heppokofrontend/items/5c4cc738c5239f4afe02)

## nvm-windows のインストール

参考
[2020-0711 nvm-windows で Node.js の 環境構築 と バージョン管理 (Windows, nvm) ](https://blog.beachside.dev/entry/2020/07/11/110000)

git-hubのhtt

元記事を表示

Webの勉強はじめてみた その20 ~Node.js編 ライブラリの使い方~

N予備校「プログラミング入門Webアプリ」コースを受講しています。
今回は第3章4,5節です。

ライブラリを利用する

:::note
require: 必要なモジュールだけをメモリに記録する
:::

CSVを読み込む

“`javascript
‘use strict’;
//FileSystem Module
const fs = require(‘fs’);
//ReadLine Module
const readline = require(‘readline’);
//ReadStream from CSV
const rs = fs.createReadStream(‘./popu-pref.csv’);
//ReadLine from rs
const rl = readline.createInterface({input:rs, output:{}});
//DataMap key: 都道府県 value: 集計データのオブジェクト
const prefectureDataMap = new Map();
//line Even

元記事を表示

ADHD向けnpmパッケージ

エンジニアでADHDだと、作業に集中しすぎて、持病の薬を飲み忘れたり、ミーティングをすっぽかしてしまったり、食事を摂るのを忘れてしまったりする。

そんな人が集中を切るためには、アプリケーションを強制終了させる他ない。

そのためのnpmライブラリがadhd-timerである。

https://github.com/TakutoYoshikai/adhd-timer

“`bash
npm install –save TakutoYoshikai/adhd-timer
“`

毎日0:00になると、Google ChromeとFirefoxとターミナルを強制的に終了させ、寝る時間だよ!と表示する例

“`javascript:index.js
const ADHDTimer = require(“adhd-timer”);

ADHDTimer([
{
schedule: “0 0 0 * * *”,
callback: function() {
console.log(“寝る時間だよ!”);
}
}
], [
“firefox

元記事を表示

npmのCLIパッケージを作成する

初めてnpmのCLIパッケージを作成してみました。

コマンドライン引数の受け取りやプロンプトの表示など、難しそうなイメージだった部分も、ライブラリを使うことで手軽に実装できたので、それらを紹介したいと思います。

# 作成したパッケージ

利用しなくなったプロジェクトの `node_modules` や `dist` フォルダを探して削除するための `clean-node-projects` というパッケージを作成しました。

`npx clean-node-projects` とすることで、そのパスの配下のフォルダが検索され、どれを削除するか選ぶことができます。
![clean-node-projects_demo.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504515/76d8b414-2348-c662-ea7c-7078d6f5febf.gif)

https://github.com/K-kind/clean-node-projects

https://www.npmjs.com/p

元記事を表示

Webの勉強はじめてみた その19 ~Node.js編 導入~

N予備校「プログラミング入門Webアプリ」を受講しています。
今回は第3章2,3節です。

Node.js

:::note
JavaScript でプログラミングすることのできる、サーバーサイド向けのプラットフォーム
:::

nvmのインストール

Node.jsのバージョンを管理するツール

“`bash
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
“`

`-o-` : このオプション、調べ方が悪いのかいまいち理解できてないです。
`-o` は指定したファイル名に保存というのはわかるんですが。

“`bash
source ~/.bashrc
“`

再起動せずに`.bashrc`ファイルを読み込ませる

Node.jsのインストール

“`
nvm install v10.14.2
nvm use v10.14.2
“`

`node –version` : バージョン確認
`node` :

元記事を表示

コンテナにNode.jsの指定バージョンをインストールする

nvmを用いてインストールを行います。
nvmを使用すれば、簡単に複数のバージョンをインストールすることができます。

“`Dockerfile
ARG NVM_VERSION=17.1.0

ENV NVM_DIR /root/.nvm

RUN apt-get install -y \
curl

RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash \
&& . ${NVM_DIR}/nvm.sh \
&& nvm install ${NVM_VERSION} \
&& nvm alias default ${NVM_VERSION} \
&& nvm use default \
&& ln -s ${NVM_DIR}/versions/node/${NVM_VERSION}/bin/node /usr/bin/node \
&& ln -s ${NVM_DIR}/versions/node/${NVM

元記事を表示

Raspberry Pi Zero WHでSwitchBotカーテン(BLE)を動かした

# はじめに
Raspberry Piを使ってBLEでSwitchbotカーテンを動かす手順です。よく見るPythonではなく、Node.jsです。
Pythonの環境はZero WH単体では作れなかったので、Node.jsです。

# 機器
– Raspberry Pi Zero WH
– SwitchBot Curtain (https://www.switchbot.jp/products/switchbot-curtain)

# 構築
以下の公式の手順を参照しながら構築しました。ほとんどそのまんまです。

https://github.com/OpenWonderLabs/node-switchbot

## OSの準備
OSはRaspiOS(buster)のliteをインストールしました。

https://downloads.raspberrypi.org/raspios_oldstable_lite_armhf/images/raspios_oldstable_lite_armhf-2021-12-02/

「2021-12-02-raspios-buster-arm

元記事を表示

Node.js環境構築に関することのメモ

個人的メモです。随時追記予定。
Raspberry pi os 64bit(多分ubuntu系)で確認しています。

##Node.jsのインストールとアップデート。

“`sh:
$ sudo apt install nodejs
$ sudo apt install npm
“`

nvmでNode.jsをインストールするよりaptでインストールしてnでバージョンをアップデートした方が良い気がした。

“`sh:
$ sudo npm install -g n
#バージョン確認
$ n –stable
$ n –latest
#Node.jsのインストール
$ sudo n latest
#バージョン変更
$ sudo n
“`

“`sh:
#npmのアップデート
$ sudo npm update -g npm
“`

参考:https://parashuto.com/rriver/tools/updating-node-js-and-npm

##Node.jsとnpmの削除
aptでアンインストールできなければこの手で良い…かも。

“`sh:コンソ

元記事を表示

Oktaの認証を使ってみた

# はじめに
 システムのクラウド化が進んできており、**IDaaS (Identity as a Service)**と呼ばれる、クラウド経由でID管理、シングルサインオン (SSO)、アクセス制御などを提供するサービスの市場が拡⼤しています。IDaaSの主要なサービスとしては、Azure ADやOkta Identity Cloud、Google Cloud Identityなどが挙げられます。
 今回は、**[Okta Identity Cloud](https://www.okta.com/jp/)の無償トライアル**を利⽤して、Okta認証を試してみます。本記事では、Oktaで**OpenID Connect(OIDC)**を⽤いて、AWS上に構築した[Express](https://expressjs.com/)(※)のアプリケーションへのアクセスを認証します。アプリケーションは、[npm](https://www.npmjs.com/)に公開されている[@okta/oidc-middleware パッケージ](https://www.npmjs.com/package/

元記事を表示

【Node.js】Windows環境におけるCypressのIntegrationフォルダーの場所

# はじまり
CypressをWindows10にインストールした後、サンプルテストコードのファイル(`.spec.js`)がある`integration`フォルダーの場所を調べたら、Windowsに関する記事がすぐ見つからず探すのに時間が掛かったので(最終的にEverythingを使って見つけました・・・)、記事にしました。

# Cypressをインストール
nodeのバージョンは16.3.1です。
以下で、インストールしました。

“`dosbatch
npm install cypress –save
“`

# Cypressを動作確認
Cypressをverifyして、

“`dosbatch
npx cypress verify
“`

Cypressを実行確認しました。

“`dosbatch
npx cypress open
“`

# Where is `integration` folder?
動くことは確認できたので、最後に`integration`フォルダーの場所を確認します。
確認したら、ここにサンプルテストコードのファイルが置いてありました!

元記事を表示

【Node.js,heroku】Twitter星座占いbot仕様改善・機能追加

## Twitter星座占いbotの仕様改善・機能追加

運用中のTwitter botの仕様改善と機能追加を実施しました。

[参考]リリカルルカのドリーム☆星座占い

[参考]改善前の仕様(基本設計書・ソースコード・結合テスト仕様書)

https://drive.google.com/drive/folders/14ns2by3Dn1YoMurb4tLvITmrF9Nd6hlx

[参考]改善後の仕様(基本設計書・ソースコード・結合テスト仕様書)

https://drive.google.com/drive/folders/1W8bNSsk9IMrxx1gzwPH7_aAfSw5K-I8w

## 1.仕様改善
■目次
(1)ファイル取得先の変更
(2)類似関数の統廃合
(3)サブ関数の切り出し
(4)エラー処理改善
(5)運用改善
(6)use strict(厳格モード)の使用
(7)その他細かい修正

### (1)ファイル取得先の変更
ツイートに使用する画像やCSVファイルのデータは、元々heroku

元記事を表示

【Node.js, heroku】Twitter botで天気予報(画像付き)

## 1.作ったもの
朝7時にツイートを実行します。
①現在の全国の天気を画像でツイート
②現在の全国の天気と気温をテキストでツイート
③9時~24時までの3時間ごとの全国の天気と気温をテキストでツイート
④9時~24時までの3時間ごとの全国の天気を画像でツイート

### (1)ツイート内容(2022/1/3のツイート)
//ツイート全体
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228630/24125400-3af0-fa1a-c7a3-688edb24f031.png)

//画像抜粋(現在の天気)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228630/56ff240f-ff5d-66e0-a182-168068337907.png)

//画像抜粋(3時間ごとの天気)
![image.png](https://qiita-image-store.s3.ap-northe

元記事を表示

【Node.js, heroku】Googleドライブの操作(データ取得/更新)

## 1.herokuからGoogleDriveを操作する
現在herokuで運用中のTwitter botがあります。
ツイートに使用する画像やCSVファイルのデータは、元々herokuにデプロイしてfsモジュールで読み込んでいましたが、下記の理由からそれらのデータをGoogleDriveから取得するように変更しました。
・画像・CSVファイルを編集する度にデプロイする必要がある
・HerokuのSlug Size(Slugは実行モジュール的な何か)が増大する

### (1)botで行っているGoogleドライブの操作
以下の処理を行っています。
①ファイルIDの取得
②画像データの取得
③SpreadSheetデータの取得
④SpreadSheetデータの更新
⑤Documentデータの取得
⑥Documentデータの削除
⑦Documentデータの更新

### (2)bot本体の仕様
以前作成した下記の星座占いbotの仕様を改善する形で実装しています。
[参考]【Node.js+heroku】Twitter星座占いbot作成

https://qiita.com/natsum

元記事を表示

blastengineを使ってNode.jsでメールを送信する

[blastengine](https://blastengine.jp/)はシンプルに使える開発者向けメールサービスを提供しています。何かと面倒なメール配信をシンプルに、かつ確実に送信先に届くようになります。

今回はblastengineを使ってNode.jsでメール送信を行うまでの流れを解説します。

## ユーザ登録する

blastengineにユーザ登録します。管理画面に入るためのユーザID、パスワードが手に入るので、ログインします(ユーザIDは後で使います)。

![getting-started-4.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/197026/5c6c8cb0-9ad1-0a6d-88fe-e24bc3ee7b17.jpeg)

## 送信元ドメインのSPFを設定する

送信元として利用するドメイン(自分で持っているもの)の設定をします。これは任意のドメイン管理サービスで設定できますが、TXTレコードに以下のSPFを追加します。

“`
txt @ v=spf1 in

元記事を表示

ホットペッパーAPIを使用して飲食店名からURL情報を取得してみた

# はじめに

ぐるなびWebサービスは2021年6月30日に無料APIサービスを終了してしまいました。

![スクリーンショット 2022-01-03 23.32.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/cf585f24-0991-66c2-80c3-c94806bd8194.png)

リクルートWEBサービスのホットペッパーAPIを使用して飲食店名からURL情報を取得します。

https://webservice.recruit.co.jp/about.html

APIキーの発行はこちら。

![スクリーンショット 2022-01-03 21.33.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/951485c0-5524-e969-eebc-cc32b642547e.png)

https://webservice.recruit.co.jp/register/

AP

元記事を表示

OTHERカテゴリの最新記事