- 1. heroku環境でnuxtのバージョンアップ(2.0から2.14)
- 2. エラー解決方法 “Error: Package exports for ‘node_modules/colorette’ do not define a valid ‘.’ target”
- 3. Azure Functions の開発環境を NestJS で構築する方法
- 4. nvmで「dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.64.dylib」エラーが出たときの解決方法
- 5. あなたは何柱?お館様による柱任命bot (Discord)
- 6. Sassの環境構築メモ
- 7. Node-RED Flows file
- 8. PayPay決済体験ハンズオン
- 9. Node-REDのメイン画面
- 10. LINE botとcompass webAPIを接続
- 11. WindowsマシンでNode-Redインストール&起動
- 12. Serverless のプラグインを TypeScript で作成する方法
- 13. Firestore 全てのドキュメントに対して、一気にフィールドを追加する方法(Cloud Functions)
- 14. Firebase Cloud Functions Node.js 8 のサポートを終了しました。
- 15. ExpressとPassportでOpenID Connect認証を実装する
- 16. EC2をt2.microで立てたときにやることメモ
- 17. RHEL 8にNode.js 14をインストール(AppStream)
- 18. node.jsのExpressを導入するときの手順メモAzure前提
- 19. Nodejsのバージョンをv8→v15に変更して色々戸惑ってる話
- 20. DockerでNode.jsの環境を構築する
heroku環境でnuxtのバージョンアップ(2.0から2.14)
# 環境
– サーバー: heroku
– nuxtのバージョン: 2.0# 概要
– nuxtを2.14にバージョンアップしたい
– nuxt 2.13からFull Static Generationが導入されたので試してみる# 手順
基本的に[nuxtの公式ドキュメント](https://ja.nuxtjs.org/docs/2.x/get-started/upgrading/)を参考にすれば上手く行くと思いますが、自分の環境での作業を備忘録として残します。
コマンドはnuxtのプロジェクト直下で叩く想定で記載しています。
かなりシンプルな開発環境なので、npmパッケージを色々インストールしていたりするとこう上手くは行かないかもしれません。## 1. package.jsonに記述されているnuxtのバージョンを上げる
`dependencies`が`^2.0.0`とかになっているのでバージョンの記載を変更します。
手動でやっても良いですが、他にもパッケージをインストールしていると大変なので、npm-check-updates(ncu)を使うと便利かもです。“`
エラー解決方法 “Error: Package exports for ‘node_modules/colorette’ do not define a valid ‘.’ target”
“Error: Package exports for ~ do not define a valid ‘.’ target“の解決方法について書きます。
# 目次
1. エラーが起きるまで
2. エラーコード
3. エラーの原因
4. 解決方法
5. 参考サイト# エラーが起きるまで
vueのプロジェクトを起動するとエラーが起きた。
“`js
npm run serve
“`# エラーコード
“`jsError: Package exports for ‘パス’ do not define a valid ‘.’ target
“`# 原因
nodeのバージョンでエラーが起きているようです。“`js
node -v
// => v13….
“`
このエラーが出た時のバージョンは13でした。# 解決方法
結論から言いますとこのエラーは、nodeのバージョンを14にすると解決しました。
解決方法について二つ紹介します。## 解決方法1
### nodebrewを使ってnodeのバージョンをあげる“`js
nodebr
Azure Functions の開発環境を NestJS で構築する方法
# はじめに
本記事のソースコードは下記の GitHub リポジトリで公開しております。
https://github.com/nikaera/azure-nestjs-sample[PlayFab](https://playfab.com/) の [CloudScript](https://docs.microsoft.com/ja-jp/gaming/playfab/features/automation/cloudscript/quickstart) 向けに [Azure Functions](https://azure.microsoft.com/ja-jp/services/functions/) の開発をすることになり、当初は [.NET Azure Functions](https://docs.microsoft.com/ja-jp/azure/azure-functions/functions-dotnet-class-library) の採用を検討していました。
しかし、開発速度が求められる案件であり C# を書ける人材がいなくて Mac 使いが多く Nod
nvmで「dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.64.dylib」エラーが出たときの解決方法
# 環境
– macOS Mojave 10.14.5
– nvmでnode.jsの導入済み# 概要
npmコマンド実行時に以下のエラーが発生する“`
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.64.dylib
Referenced from: /usr/local/bin/node
Reason: image not found
Abort trap: 6
“`# 解決方法
`.bash_profile`に以下の記述が無ければ追加する“`
export NVM_DIR=”$HOME/.nvm”
[ -s “$NVM_DIR/nvm.sh” ] && \. “$NVM_DIR/nvm.sh” # This loads nvm
“`# 原因
以下の複合要因と思われる。## 原因1
`.bash_profile`の記述が無かったため、デフォルトでsystemのnodeが使われていた
参考: https://qiita.com/tatama/items/1a6531
あなたは何柱?お館様による柱任命bot (Discord)
# はじめに
もし、自分が鬼滅の刃に登場でき、柱になれるとしたら何柱になれるのか疑問に思いました。
なので、お館様を作ってしまい、柱に認定していただくことにしました。## 実装
### 前準備
まず下記の環境構築をしていきます。
[Discord Bot(基礎編)](https://note.com/exteoi/n/nf1c37cb26c41)### メインとなる処理部分を変更
glitch内に仕込んだserver.jsを変更していきます。“`server.js
const http = require(‘http’);
const querystring = require(‘querystring’);
const discord = require(‘discord.js’);
const client = new discord.Client();http.createServer(function(req, res){
if (req.method == ‘POST’){
let data = “”;
req.on(‘data’,
Sassの環境構築メモ
# 下準備
– Sassを使う`プロジェクトディレクトリに移動`
– `node -v`と`npm -v`でバージョン表示されることを確認※ Node.jsとnpmのインストールがまだの方は[こちら](https://qiita.com/kyosuke5_20/items/c5f68fc9d89b84c0df09)。
# package.jsonファイルとnode_modulesディレクトリを作成
“`
npm init
“`
`package.jsonファイル`と`package-lock.jsonファイル`と`node_modulesディレクトリ`の3つが自動的に作成される。
![スクリーンショット 2020-11-09 19.16.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/825124/5f305725-582b-4c7c-56e6-1118ecb7d87a.png)“`
{
“name”: “starter”,
“version”: “1.0.0”,
Node-RED Flows file
# Flows file
なんとなくで作成したHello Worldフロー。
デプロイボタンはあるものの,メニューには保存アクションは見当たらず。
デプロイしたフローがどこに保存されているのかメモ。## フローの保存先
Node-REDの起動時に以下メッセージがコンソールに出力されている。9 Nov 15:49:54 – [info] User directory : \Users\maema\.node-red
9 Nov 15:49:54 – [info] Flows file : \Users\maema\.node-red\flows_hostname.json
9 Nov 15:49:54 – [info] Server now running at http://127.0.0.1:1880/Flows fileはどうやら”\Users\maema\.node-red\flows_hostname.json”
にあるらしい。
Windowsマシンにインストールして,デフォルト設定のままなので,
ユーザーディレクトリ下となっている
PayPay決済体験ハンズオン
2020年10月26日に[PayPay for Developers](https://about.paypay.ne.jp/pr/20201026/01/)にてミニアプリAPIがリリースされました。
ミニアプリAPIは加盟店登録しないと利用できませんが、その中にある決済処理のAPIを使って、独自サイトに決済処理を実装することができます。本ハンズオンでは、PayPayで簡単な決済処理を作って体験できます。# 事前準備
* Node.js環境構築
* Git
* VSCodeインストール
* PayPayアプリインストールGitHubから環境をダウンロードしましょう。
“`shell
$ cd ~/Documents
$ git clone https://github.com/gaomar/paypay-hands-on.git
$ code paypay-hands-on
“`# オンラインハンズオン資料
自PCの環境を汚したくない方は、下記URLよりお試しください。
https://katacoda.com/gaomar/scenarios/paypay-hand
Node-REDのメイン画面
# Node-REDのメイン画面
Node-Redのメイン画面の構成をメモ。
フローを作成する前に画面構成を把握しておく。## 画面全体
画面上部はデプロイボタンなどが配置されているタイトルバーがあり,
下のメイン画面は[パレット],[ワークスペース],[サイドバー]に三分割されている。
入れ替えや縦割に変更したりはできない模様。
![0001_MainWindow.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/865740/92b8f46c-2969-b008-19dc-c40da54837f6.png)## パレット
パレットの名の通り,フローを作成するためのノードが配置されている。
デフォルトでプリインストールされたノードの他,自分で追加したノードも
このパレットに配置される。
![0002_MainWindow.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/865740/e77a4891-875
LINE botとcompass webAPIを接続
#やりたかった事
LINE botとwebAPIを接続練習。
compassのwebAPIが扱いやすかったのと、compassのイベントに普段から参加しているので自分のLINE botとcompassのwebAPIを接続してみる事にしました。#環境
* LINE Messaging API
* Heroku
* node.js#compassのwebAPIから情報を取り出す
paythonというキーワードに関する情報を取り出します。
ブラウザに
https://connpass.com/api/v1/event/?keyword=python
と入力するとjsonが見れます。
出力されたjsonから欲しい情報だけを出力するようにしました。
今回は簡単にtitileだけを5件取得。“`
const axios = require(“axios”);async function main() {
let response = await axios.get(“https://connpass.com/api/v1/event/?keyword=python”);
WindowsマシンでNode-Redインストール&起動
—
# WindowsでNode-RED
WindowsにNode-Redをインストールしてデフォルト設定で起動確認した時のメモ。## 1. Node.jsのインストール
まずはNode.jsをインストール。以下でインストーラを取得。
デフォルトのまま次へ次へでOK。
https://nodejs.org/ja/## 2. Node-REDのインストール
node-redをインストールする。コマンドプロンプトで以下を実行。C:\>npm install -g –unsafe-perm node-red
インターネットの接続環境がプロキシサーバーを経由している場合は、プロキシ設定を行う必要がある。
npmのプロキシ設定をする。コマンドプロンプトを開き以下コマンドを実行する。(例)
C:\>npm config set proxy http://プロキシサーバー:8080
C:\>npm config set https-proxy http://プロキシサーバー:8080## 3. Node-REDを起動
Node-R
Serverless のプラグインを TypeScript で作成する方法
## はじめに
[Serverless Framework](https://www.serverless.com/) を使っていて、度々デプロイ時に手動で設定していた作業内容を自動化したいなと思い、プラグイン作成の知識習得も兼ねてライブラリを作成し [NPM](https://www.npmjs.com/) で公開してみました。
[serverless-amplify-auth ?](https://www.npmjs.com/package/serverless-amplify-auth)
今後も開発する可能性はありそうなので Serverless のプラグインを TypeScript で作成する際の手順をまとめておきました。各手順はザックリと紹介しつつ、**主にその過程でハマった点や工夫した点に重きをおいて記事を書いていきます。**
## 動作環境
– Node.js 12.19.0
– Serverless Framework
– Framework Core: 2.10.0
– Plugin: 4.1.1
– SDK: 2.3.2
– Compone
Firestore 全てのドキュメントに対して、一気にフィールドを追加する方法(Cloud Functions)
#全てのusersドキュメントに対してフィールドを追加したい!
私が運営しているアプリではFirestoreを使っている。
**新機能の追加にあたって、usersに入っているドキュメント全てに対して`isLocked`というフィールドを追加したくなった。**イメージはこんなん:point_down:
![スクリーンショット 2020-11-07 19.26.19.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/167220/cd9c5113-1588-7654-be0a-7a692032f006.jpeg)Firestoreのコンソール画面からフィールドを追加することはできるが、それだと1つ1つ全てのユーザーに対して手動で操作しないといけない・・・
**ユーザーが1000人いたら、1000回Firestoreのコンソール画面で「フィールドを追加→フィールド名入力→タイプを選択→値を入力」を繰り返さないといけない!:sweat_smile:**
![スクリーンショット 2020-11-08 17.
Firebase Cloud Functions Node.js 8 のサポートを終了しました。
#久しぶりにCloud Functionsのコンソール画面を開くと、、
![スクリーンショット 2020-11-08 14.23.29.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/167220/10adcad2-0ee8-c446-f4be-7754150733c8.jpeg)「ん?何やこれ?笑」
そう思って、とりあえずさっきターミナルからデプロイした時のログを確認することに。“`terminal
functions: Warning: Node.js 8 functions are deprecated and will stop running on 2021-03-15. Please upgrade to Node.js 10 or greater by adding an entry like this to your package.json:{
“engines”: {
“node”: “12”
}
}Th
ExpressとPassportでOpenID Connect認証を実装する
# 概要
OpenID Connect(以下、「OIDC」と略記)のRelying Party(以下「RP」と略記)を、Node.jsのExpressを使ったWebページ上にPassportを使って簡単に実装する方法を説明する。
本サンプルの前提は以下。
* 認証フローは「認可コードフロー(RFC 6749, 4.1. Authorization Code Grant)」を使う
* OIDCのIDプロバイダーとして、Google Cloud Platform(以下、「GCP」と略記)を使う使うライブラリは以下。
* Express
* Passport
* Passport-OpenID Connectなお、OIDCのRPを実装するだけであれば、`auth0/express-openid-connect` を使うのが一番簡単かもしれない。次のようにするだけで、以降の`app.use()`を認証ページとして設定できるので。
“`
const { auth } = require(‘express-openid-connect’);
app.use(
auth(
EC2をt2.microで立てたときにやることメモ
勉強用のEC2インスタンスを間違って停止ではなく終了してしまい、作り直すことがちょこちょこあるため、インスタンスを立ち上げたときにだいたいやることを備忘録として残しておく
# 各種最新化
“`shell
sudo yum update -y
“`# スワップメモリを増やす
t2microのようなメモリが少ないインスタンスの場合、Angularのprodビルドのようにメモリを多く使う処理で落ちてしまうため、スワップメモリを増やして回避します
“`shell
# 4GBのスワップファイルを作成(メモリが少ないのでbsが多いと失敗する)
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
# スワップファイルに読み書き権限付与
sudo chmod 600 /swapfile
# スワップ領域のセットアップ
sudo mkswap /swapfile
# スワップ領域を有効化
sudo swapon /swapfile
# スワップ領域の確認
sudo swapon -s
“`参考:https://aws.amaz
RHEL 8にNode.js 14をインストール(AppStream)
# はじめに
Application Stream(AppStream)を利用してRHEL8にNode.js 14をインストール
参考:[RHEL8のパッケージ構成 – BaseOSとApplication Stream – 赤帽エンジニアブログ]( https://rheb.hatenablog.com/entry/rhel8_baseos_and_appstream)
[第4章 新機能 Red Hat Enterprise Linux 8 \| Red Hat Customer Portal](https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/8/html/8.3_release_notes/new-features#enhancement_dynamic-programming-languages-web-and-database-servers)## サポート
本手法で導入した場合、[Red Hat Enterprise Linux 8 Application Stream
node.jsのExpressを導入するときの手順メモAzure前提
# 概要
自分用の( ..)φメモメモ。
node.jsのexpressを新規に導入するときの手順。
AzureのWebAppで動かす前提で、TDD想定でsrcとtestフォルダに分けるものとする。
必要最小限。test側のモジュール導入は省略。# 手順のメモ
`express-generator` はグローバルで導入済みとする。
Expressのスケルトン作成してAzure向け且つTDD向けにファイル移動する
“`
express myapp –no-view
mkdir src
mkdir test
copy myapp\bin\www .\server.js
xcopy myapp\public .\src\public\
xcopy myapp\routes .\src\routes\
copy myapp\app.js .\src\
npm init
“`server.jsのファイル書き換える
“`
var app = require(‘../app’);
// ↓
var app = require(‘./src/app’);
“`p
Nodejsのバージョンをv8→v15に変更して色々戸惑ってる話
半ば自分へのメモも兼ねて。
### Nodejsのv15が出ていた……
二週間遅れぐらいでNodejsの新バージョンを知りました。
半年毎にメジャーバージョンアップとか判断が早い……。
https://nodejs.org/en/blog/release/v15.0.1/### せっかくなのでNuxtJSを動かしてみる
とりあえずnodebrewで新バージョン入れて切り替え。
windowsのwslでやってます。“`
nodebrew install v15
nodebrew use v15
“`
で、手元のNuxt(v2.12)でサクッと実行。“`
npm run dev
“`▼ ▼ ▼
“`
Error: Node Sass does not yet support your current environment: Linux 64-bit with Unsupported runtime (88)
“`
まぁそうなるなー。
作業中に入れたnode-sassが合ってない感じ?### 手抜きせずにちゃんとupdateしましょう
nodeモジ
DockerでNode.jsの環境を構築する
# はじめに
[Node.jsの公式ページ](https://nodejs.org/ja/docs/guides/nodejs-docker-webapp/)に書いてあることとやっていることはほぼ同じです.
ご了承ください.# 大まかな手順
1. Node.jsアプリケーションの作成
2. Dockerfileの作成
3. Dockerイメージをビルドする際に無視するファイルを指定
4. Dockerイメージの構築
5. Dockerコンテナの起動
6. アクセス確認# Node.jsアプリケーションの作成
まずはローカル上にnode.jsアプリケーションを作成します.### 作業ディレクトリの作成
Node.jsアプリケーション作成用に新規ディレクトリを作成し,そこに移動します.“`console
$ mkdir ディレクトリ名
$ cd ディレクトリ名
“`### package.jsonの作成
“`console
$ touch package.json
“`“`json:package.json
{
“name”: “docker_nod