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

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

Windows 上で npm が primordials is not defined で起動しない場合の破壊的解決法

Windows上でWebアプリを開発する際に node.js を使いたいのに、
その環境構築の段階で、なぜか npm のバージョン確認すらできなくなり困ったので、
後々のためにメモを残します。

**症状**
“`
C:\Users\****\>npm -v
evalmachine.:47
} = primordials;
^

ReferenceError: primordials is not defined
at evalmachine.:47:5
at Object. (C:\Users\****\AppData\Roaming\npm\node_modules\npm\node_modules\npm-registry-client\node_modules\graceful-fs\fs.js:11:1)
at Module._compile (node:internal/modules/cjs/loader:1103:14)
at Object.Module._ext

元記事を表示

【LINE BotをAPI連携させたいだけなのに #1】エラー祭りへようこそ

# LINE Botを思い通りに動かしたーい!!
LINE Botでプッシュメッセージとリプライメッセージ(おうむ返しと固定テキスト)返すところまではできた。(やっとのことで。息も絶え絶えで。)
そして息切れしながら向かった先は、
## 脳みそに新たなひらめきをくれるAPI連携Botが作りたい
仕事ではプランナーとして企画制作の1000本ノックを日々行い、大学院ではアート作品を作る私。__煮詰まった時に脳みそをリフレッシュさせたい!自分の思考の外から新たな風がほしい!!__
そんな時のお助けアイテムとして、**「デザインに関してのインスピレーションを与える名言」** というステキAPIからお言葉を頂戴しようと思った。

### まずは単純なオウム返しBot
“`php5
‘use strict’;

const express = require(‘express’);
const line = require(‘@line/bot-sdk’);

const PORT = process.env.PORT || 3000;

const config = {
channelSe

元記事を表示

気になった飲食店を探すシンプルなLINE Botを作ってみた

## 飲食店をさくっと調べて、後から見返したい:fork_and_knife:

### 気になるお店が見つかった時、どうしますか?

いつもと違う道を散歩中にお好みの飲食店を発見したり、グルメな友達が行きつけのお店を紹介してくれたのを聞いて、**気になるお店が見つかった時、皆さんどうされていますか?**

### メモアプリは二度手間だし、ググると後から見返すのに不便:cold_sweat:

私はiPhoneの**メモアプリに店名を書き留めておくか、店名をググって、グルメ情報サイトを見るかどっちかだと思います。** 特に休日の朝は、カフェで大好きなカプチーノを飲みながらのんびりするのが好きなので、朝早くから営業している居心地の良さそうなカフェを見つけた時は宝物を探し当てたかのような、ほっこりした気持ちになります。更に、カプチーノがメニューにあれば、そりゃーもう言うことないですよ!そのまま入店できない時は、店名を絶対忘れないようにメモっておきます。
メモアプリに入力した場合は、**あとから店を探すのは意外にめんどくさくて二度手間です**。メモアプリからえぇーと、店名をコピーして、Go

元記事を表示

Node.jsで.csv形式でログを取って.tar.gz形式で圧縮する

https://soluna-eureka.hatenablog.com/entry/2022/02/26/070110

の続き

# 開発背景
電力が貴重なこの時代!学術研究でも計算機の消費電力は無視できない!そもそもCPU温度が下がらない状況は危ない!
ということで常駐で温度を監視してログを取れるやつにまで昇華しました,やってることは基礎的なことのはずなんだけどな…

ちなみに冷却装置の設定によっては室温との相関があるかもしれない,流体の熱伝導を考えればそれはそうという感じはあるが

# 機能

+ 1秒毎にCPU温度を監視
+ 設定温度を超過するとSlackにログを送信
+ 毎分10n秒でログを`.csv`に書き込む
+ excelとかで見るのを前提に
+ 毎時0分でSlackにログを送信
+ 動作確認の意味合いも兼ねて
+ 毎日0時5分に前日の`.csv`を`.tar.gz`に圧縮し元の`.csv`を削除
+ もちろん最大圧縮

# 以下,反省と言い訳

## csvの操作がクソ難しい
こちらもオブジェクト型や配列型の酷使に慣れてい

元記事を表示

zsh: command not found: npmが出た時の対処法

ある日npmコマンドを打つとエラーが出ました。

“`
$ npm -v
zsh: command not found: npm
“`

npmコマンドが一切使えなくなってしまいました。
解決までに行った方法を共有します。

環境はmacOS Montereyです。

## nodebrewがインストール済みか確認する
`nodebrew`と打って確認します。
色々と表示されれば問題ないです。一番上の行にバージョンの記載が出ます。
“`
$ nodebrew
nodebrew 1.2.0

Usage:
~~~
“`

### nodebrewをインストールする
もしnodebrewが入っていなけばHomebrewを使用してインストールします。
“`
$ brew install nodebrew
“`
Homebrewが入っていなれば下記コマンドでインストールできます。
“`
$ /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)

元記事を表示

asdfでNode.jsの環境設定

たまに新しい環境でNode.jsを入れることがあるので、メモ代わりに環境設定法を書いておく。

ネットで検索するとMacだったり、yarnを入れてなかったりするので。

# asdf インストール

基本は[公式サイト](http://asdf-vm.com/guide/getting-started.html)に従う。
非常に丁寧に書いてある。

## インストール
“`shell
apt install curl git
git clone https://github.com/asdf-vm/asdf.git ~/.asdf –branch v0.9.0
“`

## .zshrcに設定追加
“`text:~/.zshrc
. $HOME/.asdf/asdf.sh
“`

## 既存のバージョンファイルも有効にする
これで .node-version も有効になる。プロジェクトによっては .node-version を使っているものもあるので。
“`text:$HOME/.asdfrc
legacy_version_file = yes
“`

# プラグインイン

元記事を表示

VSCode上でNode.js(ES6で実装)のdebugをするための設定をしてみた

## 以下の記事を参照して頂ければと思います

https://note.com/shift_tech/n/n41b6195d6739

**※Qiitaの記事は全て個人的な記載であり、所属する組織団体とは無関係です**

## 補足
ソースコード全体は以下。

https://github.com/yuta-katayama-23/node-express/commit/6717893fbe15b7d80f34ad21f23d7168cdbf05ba

元記事を表示

GCP nodejs環境構築手順(nodeのバージョンを指定)

ほぼ自分用のメモです。

## 1インスタンス作る
インスタンスがmicroだと手順5で out of memoryになって進めない

## 2sshでコンソールに入る
これはSSHクリックするだけ
## 3gitをインストールする
“`
$ sudo apt-get update # いろいろパッケージを更新
$ sudo apt-get install git # git インストール
$ which git
“`
参考
https://zenn.dev/suyaa/scraps/a0e84f9cbf403b

## 4homebrewをインストール
“`
git clone https://github.com/Homebrew/brew homebrew
“`
“`
eval “$(homebrew/bin/brew shellenv)”
“`
“`
brew update –force –quiet
“`
↑ちょっと時間かかる
“`
chmod -R go-w “$(brew –prefix)/share/zsh”
“`
参考
https://do

元記事を表示

Node.js Jest : ReferenceError: require is not defined

package.json

}
“type”: “module”,
“jest”: {
“verbose”: true,
“transform”: {}
}

・リンク
https://jestjs.io/ja/docs/configuration

元記事を表示

Docker + Nginx + Node.js で開発環境構築

## はじめに
業務でNext.jsに触れる機会があったのでDockerで開発環境構築をやってみたいと思ったので書いていきます。実際にはMySQLも含みますがサーバーサイド側のため割愛します。

*ローカル開発環境構築の想定のため、セキュリティは本番環境を想定していません。

## やりたいこと
`docker-compose`で`Nginx`コンテナをリバースプロキシとして`Node.js`コンテナへリクエストを投げる環境の構築

##環境構築
Docker for Macをインストール済みかつNext.jsでプロジェクト作成済みを想定

#### docker version

“`terminal
$docker –version
Docker version 20.10.6, build 370c289
“`

#### ディレクトリ構造
“`terminal
├── docker-compose.yml
├── node
| ├── Dockerfile
├── nginx
├── default.conf

“`

#### docker-co

元記事を表示

サーバにJupyterLabを導入し、ローカルからhttpsでアクセス

**環境**
ローカルPC: MacBook Air(Monterey)
サーバPC: **Ubuntu Server** 20.04.4
※**オレオレ証明書**を使用
※サーバは**固定IP**を割り当て

# JupyterLab導入時に思ったこと
JupyterLabの導入をネットで調べると、ブラウザのアドレスバーに`http://`と入力させる記事がほとんどだった。しかし、通信のHTTPS化が進むこのご時世、私はJupyterLabのアクセスもhttpsでセキュアにしたかった!

# JupyterLabをサーバにインストール
今回はpip3で導入する。(他にもcondaなどで導入できる)
“`sh
pip3 install jupyterlab
“`
そして、`export PATH=”$HOME/.local/bin:$PATH”`を.zshrcなどに書き込み、sourceコマンドで適用する。

### Node.jsが必要
ただ、サーバに`Node.js`が導入されていないと**JupyterLabのカーネルが起動しない**らしい。つまり`.ipynb`が実行できな

元記事を表示

JavaScript環境構築まわりの用語

## Node.js

**Node.jsは、JavaScriptの実行環境のこと。**

Node.jsはサーバーサイドのプログラミング言語だと誤解されることがあるが、
プログラミング言語であるJavaScriptを、サーバーサイドでも実行できるようにするのがNode.js。
また、現在ではフロントエンドの開発環境としても広く使われている。
詳しくは↓の記事様がわかりやすい。

https://qiita.com/non_cal/items/a8fee0b7ad96e67713eb

 

## npm

**npmは、Node.jsのパッケージ管理ツールのこと。**
phpで言うところのcomposer、Pythonで言うところのpip。

npmにおけるパッケージとは、JavaScript のライブラリやフレームワークのこと。
ReactやVue.jsもnpmを利用してインストールできる。
詳しくは↓の記事がわかりやすい

https://reffect.co.jp/html/npm-package-manager-basic-for-beginner

 

## nvm、

元記事を表示

Dockerでfrourioを動かそうとしたら「System limit for number of file watchers reached」エラーの解決法について

こんにちは。
frourioいいぞ〜と聞いていたので今回の3連休で触ってみようと思ったら、環境構築時点でDocker周りのエラーに苦戦したので解決した方法を備忘録として残してみました。

# 環境
– MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) / Intel Chip
– Docker version 20.10.12, build e91ed57
– Docker Compose version v2.2.3
– Rancher Desktop Version: 1.1.1
– Container image node:16.13.2
– frourio 0.27.1

# 実際に起きたエラー
Docker環境を立ち上げてからyarn runを実行した歳に発生したエラーです。エラーの内容は一部省略しています。

“`shell
Error: ENOSPC: System limit for number of file watchers reached
“`

調べてみるとNode.js系ではよく見かけるエラーのよ

元記事を表示

[JavaScript/node/WSH/Bat] 特定フォルダ下位にある画像ファイルをランダムで開く

Windowsです。

BingWallPaperナントカってアプリをいれて、Bingの背景画像を壁紙にしてくれて日々、きれいな壁紙が切り替わるようにしています。

が、5,6枚くらいしか前画像をたどれなくて、ときどきBingが虫とか植物の拡大写真や動物の変な写真がアップされて気に食わなかったりするときがありまう。俺は生物系ではなく風景の写真が壁紙になってほしいのです。生物系はぎょっとしたりキモかったりするときもあるので、壁紙にしたくない。(今日とかカエルだし、人を選ぶだろ、カエル画像とかさあ)

で、壁紙ファイルは次の場所に保存されていることがわかり、昔みた壁紙ファイルも保持されているからよかったのです。

C:\Users\<ユーザー名>\AppData\Local\Microsoft\BingWallpaperApp\WPImages
C:\Users\<ユーザー>\OneDrive\画像\Bing Images

で、この中でお気に入りな画像を特定のフォルダに保存しています。

画像ファイラは、MassiGra使っているので、画像をみて気に入ったものがあれば壁紙に簡単にできるの

元記事を表示

Discord.js+Expressでグローバル変数っぽい挙動をしたいメモ

Discord.js+expressでサーバーを立ててますが、ファイル分割をしている末端のファイル`hoge.js`などのなかでDiscord.jsのClientを呼び出したいというニッチな話

“`
main.js
|- actions
|- router
|- hoge.js
“`

main.jsで`client = new Client()`をしていますが、末端でhoge.jsではclientオブジェクトが定義されてなく、`client.channels.cache.get().send()`を使いたいけど使えない、みたいな状態でした。

https://qiita.com/n0bisuke/items/cc4deef076ecf86421f5

main.jsで定義したclient変数をhoge.jsに持っていきたいなというところでしたが、公式ドキュメントとすぎゃーんさんの記事が参考になりました。

> [Express アプリケーションで使用するミドルウェアの作成](https://expressjs.com/ja/guide/writing-middlew

元記事を表示

【3分】global install用のyarnをこ◯してnpmに統一した

# npm経由でしかglobalにinstallさせないようにする

“`
# global addされたnode packageの在処を特定
yarn global dir

# 上記で特定した場所に移動
cd ${LOCATION}

# node_modulesを削除
rm -rf node_modules

# 再度新しいnode_modulesを作成
(at the same location) yarn
“`

これで完了

元記事を表示

任意のサイトURLからOGP Metadata を取得する npm package を作った話 – メタグロス(metagros)

こんにちは、普段は学校に通いながら、インターンや趣味でソフトウェア開発をしています。バックエンドやフロントエンド、インフラ領域を主に触っています。
Twitter: [@igsr5_](https://twitter.com/igsr5_/) GitHub: [@igsr5](https://github.com/igsr5)

先日自分が所属している Slack コミュニティで「weekly で記事あげていったら面白そうじゃない?」みたいな話があがったので自分が第一号として記事を書いていこうと思います。(既に一日遅れていますが、、)

この記事では個人的に作った Node.js + ESM の npm パッケージを紹介していきます。

## 作ったライブラリ – Metagros
https://github.com/igsr5/metagros

![](https://camo.githubusercontent.com/43d1fe4e9091290d5d30e1f2d7b143d554180061dfcece219eaf5a3cddda26eb/68747470733a2

元記事を表示

Nuxt.jsでルーティング

# ルーティング

Nuxt.jsはpagesディレクトリ配下にフォルダ作ってそこにindex.vue設置して上げると自動的にルーティングしてくれます。
便利便利。

### ディレクトリ作成→中にindex.vue配置
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201311/80c7b130-baa9-25d6-bfd4-acdbd808ec6e.png)
こんなかんじで、プロジェクト生成時、デフォルトで生成される`[PROJECT]/.nuxt/pages`配下にnewPageをディレクトリを作成します。(.nuxtは隠しフォルダなので注意)
index.vueを作成します。

“`vuejs:./newPage/index.vue

“`
newPageに作ったindexの中身です。とりあえずタイトルだけ表示させやす。

### 動作確認
`$ npm run de

元記事を表示

正規表現の /g フラグはサーバーで使うと怖いことがあるという話

まず、次のコードを見てください。

“`
const http = require(‘http’);
const url = require(‘url’);

const regex = /^hoge$/g;
const server = http.createServer((req, res) => {
if (regex.test(‘hoge’)) {
res.end(‘hoge’, ‘utf8’)
} else {
res.end(‘hogeじゃない’, ‘utf8’);
}
});
server.listen(8000);
“`
この Node.js 向けのコードを実行すると HTTP サーバーが起動します。
どんなレスポンスが返ってくるでしょうか?

“`
% curl localhost:8000
hoge
% curl localhost:8000
hogeじゃない
% curl localhost:8000
hoge
% curl localhost:8000
hogeじゃない
% curl localho

元記事を表示

MacにNode.jsをインストールする方法(2022/03)

タイトルの部分、(2022/03)とか書くだけで少し悲しくなる。。。
「ああ、年取ったなって」

まあ今回はNode.jsのインストールです!
Mac初期化したのでね。。。
最初からです。
今回は早く終わりそうでよかった。

## Node.jsとは?
Node.jsが何かわからずに、必要だとわかったからインストールする人もいると思うので(AtCoder cliのために必要など)、駆る紹介します。
と思ったのですが、さすがはインターネットさん、めっさわかりやすい説明をしている記事を見つけたので載せておきます。

https://qiita.com/non_cal/items/a8fee0b7ad96e67713eb

## Node.jsのダウンロード
https://nodejs.org/ja/

[こちら](https://nodejs.org/ja/)のサイトからLST版(推奨版)をダウンロードして実行します。
最新版って書いてある奇数番号の方は約7ヶ月でどれもサポート終わるのでLST版の方がいいです。

全肯定していけばインストールできます。迷う部分は特に無いと思います。

元記事を表示

OTHERカテゴリの最新記事