20210609のNode.jsに関する記事は7件です。

Node.jsで認証機能を作る際に使用したパッケージ集

各パッケージと機能の簡単な説明 bcryptjs データベースに保存する前にパスワードをハッシュするのに役立つライブラリ。全てJavaScriptで記述され得ている。 body-parser ミドルウェアで受信リクエスト本文を解析するために使用される。(フォームに入力された値を受け取る。) concurrently バックエンドとフロントエンドを異なるポートで同時に実行できます express Node.js のための高速で、革新的な、最小限のWebフレームワーク。 is-empty valueが空かどうかを確認します。 mongoose 非同期環境で動作するように設計されたMongoDBオブジェクト モデリング ツール passport Node.jsの認証ミドルウェア。Facebook, Twitter認証もサポートしている。 passport-jwt 受信したJWTトークンを検証し、ログイン中のユーザーであるかを判定する。 validator 入力した内容が文字列かどうか判断する。(たとえば、有効な電子メール形式のチェック、パスワードの一致の確認。)文字列以外を渡すとエラーになる 参照 https://blog.bitsrc.io/build-a-login-auth-app-with-mern-stack-part-1-c405048e3669 https://www.npmjs.com/package/bcrypt node.js(express)のbody-parserを理解する Express https://www.npmjs.com/package/is-empty https://www.npmjs.com/package/mongoose passport.js [Node.js] Express で JWT 認証する方法 https://www.npmjs.com/package/validator
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Node.jsでGitHubのオーガナイゼーションとチームにユーザーを追加する

GitHubのチームはオーガナイゼーションに紐づくサブ組織的な位置付けです。 GitHubのオーガナイゼーションとチーム このような階層構造になっています。 オーガナイゼーション1 |--チームA |--チームB |--チームC オーガナイゼーションのメンバーとして管理権限がないと、オーガナイゼーション外のユーザーをオーガナイゼーション配下のチームに追加することは出来ません。 例えば、チームBにだけメンバーを追加しようとしても、オーガナイゼーション1に先に追加しないといけません。さらにこれをやる場合、オーガナイゼーション1の管理権限がないといけません。 オーガナイゼーション1に所属している管理権限がない人でもチームに人を追加できるように出来ないかと思い、APIを使ってみました。 GitHubのAPIアクセストークンを発行 こちら(個人アクセストークンを使用する)をみてアクセストークンを取得します。 Settings > Developer settings > Personal access tokensで見れます オーガナイゼーションだけのコントロールをしたいのでこんなチェックにしてトークンを発行しました。 ghp_で始まる文字列がトークンとして発行されます。 GitHubのチーム追加のAPIをまずはCURLで試す Add or update team membership for a userを見てみます。 /orgs/{org}/teams/{team_slug}/memberships/{username} という形式でAPIを叩くことで利用できます。 $ curl -u {ORG_NAME}:{トークン} -X PUT -H "Accept: application/vnd.github.inertia-preview+json" https://api.github.com/orgs/{ORG_NAME}/teams/{TEAM_NAME}/memberships/{USER_NAME} -d '{"role":"member"}' こんな形式で利用することができました。 Node.js(axios)からAPIを利用する 先程のCURLのコマンドからaxiosに書き換えてみます。-uオプションはベーシック認証なんですね。 逆引きcurlコマンドのオプション一覧 $ npm i axios app.js const axios = require(`axios`); const gh = async () => { const TOKEN = `トークンを指定`; const ORG = `protoout`; //追加先のオーガナイゼーション const TEAM = `protoout-student`; //追加するチーム名 const USER_NAME = `n0bisuke`; //追加するユーザー const BASE_URL = `https://api.github.com`; const PATH = `/orgs/${ORG}/teams/${TEAM}/memberships/${USER_NAME}` const config = { baseURL: BASE_URL, url: PATH, method: 'put', headers: { 'Content-Type': 'application/json', 'Accept': 'application/vnd.github.inertia-preview+json', }, auth: { username: ORG, password: TOKEN }, data: { 'role': 'member' //固定 API経由で管理者を追加することはあんまりなさそう } }; const res = await axios.request(config); console.log(res.data); } gh(); 実行結果 $ node app.js { state: 'active', role: 'maintainer', url: 'https://api.github.com/organizations/XXXXXX/team/XXXXXX/memberships/n0bisuke' } すでに入っているもしくは招待に成功すると、acitveのステータスが返ってきます。 オーガナイゼーション外部の人を招待する場合は、一旦メールがユーザーに飛び、ユーザーが許可するとチームにも追加されるという流れなので、最初はpendingのステータスになると思います。 まとめ こんな感じでオーガナイゼーション招待&チーム追加ができました。 ユーザーにはメールが飛んでいるので、オーガナイゼーションに参加してもらいます。ユーザーが参加ボタンを押すことでオーガナイゼーションにやっと追加されるので、追加後にはユーザーに確認を入れると良さそうですね。 実際の運用だと、こんな感じでDiscordのBOTから呼び出せるようにしてみています。 便利だ。。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Node.jsについて 備忘録

Node.jsとは? Node.jsとは、サーバアプリケーションをJavaScript言語で開発するためのプラットフォームです。 Node.jsを導入することにより、高速でスケーラブルなネットワークアプリケーションを簡単に構築することが可能になります。 例えば、イベント処理が重要で、処理が短く頻繁なチャットアプリなどでNode.jsのメリットが活かしやすいと思います。 ノンブロッキングI/O処理方式 Node.jsはノンブロッキングI/O方式を採用しているため、軽量で、分散されたデバイスにまたがるリアルタイムアプリケーションに適しています。 ノンブロッキングI/Oとは、入出力処理を非同期で実行する方式です。たとえば、データベースにクエリを発行した際、結果が返ってくるまで待ち時間がありますが、ノンブロッキングI/O方式は問い合わせ結果を待たず次の処理に移ります。結果はイベントで受け取ります。 モジュールとパッケージについて Node.jsでは、JavaScriptで記述されたファイルをモジュールと呼び、それらのモジュール郡をディレクトリにまとめたものをパッケージと呼びます。オフィシャルなパッケージ以外にも、サードパーティ製のモジュールも多数用意されています。代表的なパッケージ公開サイトとしてNode Packaged Modulesがあります。 Node Packaged Modules 公式サイトで紹介されているサードパーティー製モジュールは下記の通りです。 パッケージ管理: npm HTTP ミドルウェア: Connect フレームワーク: Express ソケット: Socket.IO HTML パーサー: HTML5 mDNS/Zeroconf/Bonjour RabbitMQ, AMQP mysql シリアライゼーション: msgpack Scraping: Apricot デバッガ: ndb is a CLI debuggerinspector is a web based tool. pcap binding ncurses Testing/TDD/BDD: vows, expresso, mjsunit.runner npm(node package manager) Node.jsのパッケージを管理するためのツールとして、npm(node package manager)というツールが用意されています。 このツールを使って、簡単にパッケージを導入したり、更新・削除といった処理を行うことができます。 パッケージをインストール パッケージのインストールはinstallオプションにパッケージ名を指定します。 npm install [-g] パッケージ名 カレントディレクトリに node_modules というフォルダが作成され、その中に指定したパッケージがインストールされます。 インストールしたパッケージを使うには、requireを使ってパッケージを読み込みます。 var pkg = require("パッケージ名"); -gオプション npm install -g パッケージ名 -g オプションで、すべてのプロジェクトから利用可能な領域にインストールされます。 どのプロジェクトでも共通して利用するようなパッケージで使うと良いでしょう。 パッケージのアンインストール uninstall オプションで、指定したパッケージがアンインストールされます。 npm unisntall [-g] パッケージ名 インストール済のパッケージのリストを表示 listオプションで、インストール済パッケージの一覧が表示されます。 npm list [-g] パッケージ情報を表示 infoオプションで、指定したパッケージの情報が表示されます。 npm info パッケージ名 人気のパッケージ Socket.IO WebSocketです。チャットなどのリアルタイム通信に有用です。 npm install socket.io Express MVCの自動生成、ルーティング機能などを持ったフレームワークです。 npm install express EJS Expressから利用できるテンプレートエンジンです。 npm install ejs node-mysql MySQLへ接続するためのパッケージです。 npm install mysql jsdom DOM操作が使えるようになるパッケージです。 npm install jsdom node-validator バリデーションや文字列操作、サニタイジングを行うパッケージです。 npm install validator モジュールの読み込み Node.jsにはモジュールを読み込むための関数 require() が用意されています。 require()は引数指定されたモジュールを読み込み、そのモジュールに含まれるメソッドやクラスを格納したオブジェクトを返します。このオブジェクトを通じてモジュール内のコンテンツにアクセスできるようになります。 httpモジュールを利用するには、次のようにrequireの引数に指定し、モジュールと同名のローカル変数に代入します。 var http = require('http'); 読み込んだモジュール内の関数は.演算子で呼び出せます。 var server = http.createServer(); シンプルなモジュールの作成 シンプルなモジュールを作成し、呼び出すサンプルです。 モジュールmod.jsと、それを呼び出すmain.jsを作成し、それぞれに下記の内容を記述します。 mod.js exports.printBoo = function(){ return "Hello!"; } 上記ではexportsにprintBoo()メソッドを追加し、エクスポートしています。 こうすることで別ファイルから該当メソッドを呼び出すことができます。 main.js var mod = require('./mod.js'); console.log( mod.printBoo() ); mod.jsモジュールを読み込み、先ほどエクスポートしたprintBoo()メソッドを実行し、それをコンソールに出力しています。 下記を実行すると、コンソールに Hello!と出力されます。 node main.js コアモジュール node.jsに標準で組み込まれているモジュールはコアモジュールと呼ばれます。 require('モジュール名') コアモジュール一覧 モジュール名 機能 安定度 assert アサーション 5 buffer バイト列の格納・操作 3 child_process 子プロセスの生成・管理 3 cluster 複数のプロセスを使った負荷分散 1 console コンソールへのメッセージ出力 4 crypto 暗号化/ハッシュ 2 dgram UDPを扱うソケット関連の処理 3 dns DNS関連の処理 3 domain 複数のIO処理間の連携 1 events イベント処理を実装するための基底クラス 4 fs ファイルおよびファイルシステムの操作 3 http HTTPサーバー/クライアント 3 https HTTPSサーバー/クライアント 3 net ソケットの操作 3 os OS情報の取得 4 path パス文字列の処理 3 punycode Punycode文字列のエンコード/デコード 2 querystring クエリ文字列の処理 3 readline 標準入出力を使用した対話的インターフェイス 2 repl REPL (なし) stream ストリーム入出力処理の基底クラス 2 string_decoder バイナリ列から文字列へのデコード 3 tls OpenSSLを使ったTLS/SSL通信 3 tty TTYの情報取得 2 url URL文字列のパース・フォーマット 3 util 各種ユーティリティ 5 vm JavaScriptの実行エンジン 2 zlib zlibを使ったデータの圧縮・展開 3 実装 最初に 適当なフォルダーを作成し、ターミナルでそこへ移動します。 まず以下のコマンドを実行してください。 npm init --yes これは、npmの設定ファイルであるpackage.jsonを生成するコマンドです。package.jsonには、npmパッケージの設定情報などが書き込まれていきます。 最もシンプルなHTTPサーバを作成 ブラウザでアクセスすると「Hello World」というメッセージを表示するHTTPサーバを作成します。 まず、先に作成したフォルダ以下にコードをapp.jsとして保存します。 app.js var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(8300, "127.0.0.1"); console.log('Server running at http://127.0.0.1:8300'); httpモジュールをhttpオブジェクトとしてロードしています。 次にhttpモジュールのcreateServerメソッドにはHTTPリクエストを処理してレスポンスを返すHTTPサーバアプリケーションとしての処理を定義する関数を指定します。 このサンプルでは無名関数としてリクエストの内容にかかわらず,レスポンスとして,ヘッダをステータスコード200 OKでContent-Typeにtext/plainを返し,レスポンスボディとして「Hello World」を書き出しています。 createServerメソッドはHTTPサーバオブジェクトを返し,さらにそのlistenメソッドで8300番ポートとループバックアドレスにバインドしてサーバを開始します。 nodeコマンドの引数に作成したファイル名を指定して実行します。 node app.js ブラウザを開いて「localhost:8300」or「127.0.0.1:8300」というURLにアクセスします。 参考 このように Hello World と表示されれば成功です。 jsファイルを変更した際にはサーバーを再起動しないと反映されないので注意。 一度サーバーを停止してから再度サーバーを起動することで再起動ができます。 ファイルの変更を反映したい場合は、Ctrl + Cでサーバーを停止した後に、 node app.js でサーバーを再起動しましょう。 おそらく普段使われている言語では,WebサーバとしてTomcatやApache+CGIといったアプリケーションを動作させるコンテナがある状態で,中身のアプリケーションだけを,サーブレットのように定まった仕様で構築することが多いでしょう。nodeの場合は,前述のサンプルのようにそれ自身でコンテナとなるWebサーバもアプリケーションも,どちらもまとめて実装することになります。 ファイル更新時に自動でサーバーが再起動するようにしよう ページを表示することはできましたが、jsファイルの変更を反映するには、毎回サーバーを再起動する必要があります。 手動でサーバーを再起動する必要がないように、ファイルが変更されると自動でサーバーを再起動してくれるnodemonというnpmパッケージをインストールしていきましょう。 npm install nodemon 次に、nodemonを使ってサーバーを起動していきましょう。nodemonを実行するには、以下のコマンドを実行してください。(コピーしたコマンドはCtrl + Vもしくは Ctrl + Shift + V で貼り付けることができます。) Windowsの場合 .\\node_modules\\.bin\\nodemon app.js Macの場合 ./node_modules/.bin/nodemon app.js 以下の図の下部のように表示されれば、nodemonでのサーバー起動は成功です。 nodemonを簡単に呼び出そう サーバーを起動するために .\\node_modules\\.bin\\nodemon app.jsと入力するのは少し面倒です。 これをより簡単に実行できるようにしていきましょう。 ここでいう「nodejs_test」に値するフォルダの中にあるpackage.jsonを開いてください。 すると、package.jsonの中にscriptsという項目があるのが確認できるかと思います。 このscriptsの中に、よくつかうコマンドをタスクとして登録することで、登録したタスクを簡単に呼び出すことができます。 それでは、実際にタスクを登録していきましょう。 ここでは、scriptsにもともと書いてあるtestというタスクを削除しstartというタスクを登録していきます。 "test": 〜の行を削除し、以下のコマンドを貼り付けてください。 Windowsの場合 "start": ".\\node_modules\\.bin\\nodemon app.js" Macの場合 "start": "./node_modules/.bin/nodemon app.js" 登録したstartというタスクを実行しましょう。 npm run タスク名 という形で実行できます。 以下のように実行し、nodemonでサーバーが起動できるかを確認してください。 npm run start これで、簡単にサーバーを起動できるようになりました! Expressの概要 expressは、nodeを使ったWebアプリケーションを作成するためのフレームワークです。 非常にシンプルで軽量なフレームワークで、HTMLやCSSのテンプレートエンジンや、Cookie処理を行うcookieモジュール、HTTPリクエストを処理するConnectモジュールといった多彩なモジュールを必要に合わせて組み合わせることができます。 簡単なExpressの利用方法 Expressを使って簡単なHTTPサーバを構築します。 HTMLとCSSのテンプレートエンジンは複数用意されているので、任意のエンジンをインストールして選択することができます。 デフォルトのテンプレートエンジンはJadeですが、ここではPHPと同じように使えるejs(Embedded JavaScript)を使います。--cssオプションでlessやstylusといったCSSエンジンも指定可能です。 expressとejsをインストールします。以下のコマンドを実行してください。 npm install express ejs ※npm install express npm install ejsと1つずつinstallコマンドを実行していくことも可能ですが、 npm intall インストールしたいパッケージ① インストールしたいパッケージ②... というようにパッケージ名を列挙することで、一度にまとめてインストールすることができます。よく使う便利な方法なので覚えておきましょう。 プロジェクトの作成 express コマンドを使うことで、プロジェクトを生成できます。 express コマンドを使うために、以下を実行します。 npm install -g express-generator ここではテンプレートエンジンにejsを指定し、exp01というプロジェクト名を指定しています。 実行後、プロジェクト名のexp01でディレクトリが作成され、その中に必要なファイル・ディレクトリ一式が展開されます。 express --view=ejs exp01 作成されたディレクトリに移動し、依存関係にあるパッケージ・モジュールをインストールします。 cd exp01 npm install npmのオプション一覧は下記で確認できます。 npm help 上図の「run the app」に記載されているコマンドを実行すると、Expressのデフォルトのポート番号3000で作成したWebサーバが起動します。 SET DEBUG=exp01:* & npm start もしくは、 npm start npm run start でも起動します。 ブラウザからは 「http://localhost:3000」 といったアドレスでアクセスできるようになります。 Expressプロジェクトについて注意 app.js var createError = require('http-errors'); var express = require('express'); var path = require('path'); var cookieParser = require('cookie-parser'); var logger = require('morgan'); var indexRouter = require('./routes/index'); var usersRouter = require('./routes/users'); var app = express(); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); app.use(logger('dev')); app.use(express.json()); app.use(express.urlencoded({ extended: false })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); app.use('/', indexRouter); app.use('/users', usersRouter); // catch 404 and forward to error handler app.use(function(req, res, next) { next(createError(404)); }); // error handler app.use(function(err, req, res, next) { // set locals, only providing error in development res.locals.message = err.message; res.locals.error = req.app.get('env') === 'development' ? err : {}; // render the error page res.status(err.status || 500); res.render('error'); }); module.exports = app; 最もシンプルなHTTPサーバを作成のapp.jsでは、サーバを立てる処理(listenメソッド)を記述していましたが、上記ソースでは記述していません。そのため、 node app.js としてもサーバは起動しません。 サーバを立てる処理は「C:\Users...\nodejs_test\exp01\bin\www」に記述されています。 サーバを立てる際は、「www」ファイルを実行するタスクとして、「package.json」内の「scripts」項目にて「start」が定義されているのでそれを利用します。 package.json { "name": "exp01", "version": "0.0.0", "private": true, "scripts": { "start": "node ./bin/www" }, "dependencies": { "cookie-parser": "~1.4.4", "debug": "~2.6.9", "ejs": "~2.6.1", "express": "~4.16.1", "http-errors": "~1.6.3", "morgan": "~1.9.1" } } 「C:\Users...\nodejs_test\exp01\bin\www」 #!/usr/bin/env node /** * Module dependencies. */ var app = require('../app'); var debug = require('debug')('exp01:server'); var http = require('http'); /** * Get port from environment and store in Express. */ var port = normalizePort(process.env.PORT || '3000'); app.set('port', port); /** * Create HTTP server. */ var server = http.createServer(app); /** * Listen on provided port, on all network interfaces. */ server.listen(port); server.on('error', onError); server.on('listening', onListening); /** * Normalize a port into a number, string, or false. */ function normalizePort(val) { var port = parseInt(val, 10); if (isNaN(port)) { // named pipe return val; } if (port >= 0) { // port number return port; } return false; } /** * Event listener for HTTP server "error" event. */ function onError(error) { if (error.syscall !== 'listen') { throw error; } var bind = typeof port === 'string' ? 'Pipe ' + port : 'Port ' + port; // handle specific listen errors with friendly messages switch (error.code) { case 'EACCES': console.error(bind + ' requires elevated privileges'); process.exit(1); break; case 'EADDRINUSE': console.error(bind + ' is already in use'); process.exit(1); break; default: throw error; } } /** * Event listener for HTTP server "listening" event. */ function onListening() { var addr = server.address(); var bind = typeof addr === 'string' ? 'pipe ' + addr : 'port ' + addr.port; debug('Listening on ' + bind); } 参考
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

[Lambda] [Node.js] ZIPによるコードのアップロード時にハマったこと

はじめに Lambdaのチュートリアルで作成するHello,world!を表示させる関数は、実装からデプロイをAWSコンソール上で完結します。 しかし、ビルド時に必要なモジュールがある場合は、ファイルサイズが大きくなってしまうため、ZIPによるコードのアップロードが必要になります。 そのときに少しハマってしまったので、この記事で解説したいと思います。 (AWSコンソールのUIはかなりの頻度で変更されて、戸惑うことがあるかもしれないので、画像を使用せずに解説します。) アップロードまでの手順 新規フォルダを作成、デプロイしたいindex.jsとpackage.jsonを格納 node -vでnodeのバージョンを確認 $npm installでビルド $zip -r project.zip *でzipを作成 project.zipをAWSコンソール上でアップロード 手順2で確認したnodeのバージョンにランタイムのバージョンを合わせる。 注意事項 package.jsonには、aws-sdkモジュールが必須 zipコマンドは、index.jsがある階層で実行(Runtime.HandlerNotFoundというエラーが出ます。原因はパスが通っていなくて、ハンドラが見つからないこと) さいごに 今回は、ZIPによるコードのアップロード手順を解説しました。 この解説により、たくさんあるNode.jsのモジュールを使って、実装できます。(パッケージサイズは、250MBまで) ぜひ活用してみてください!!!
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

lambda にnodeコードを叩いて地盤のnodeのバージョンを確認したい

lambda にnodeコードを叩いて地盤のnodeのバージョンを確認したい class Work(models.Model): title = models.CharField('インシデントNO.', max_length=100) created = models.DateField('作成日時') description = models.TextField('説明') subtitle = models.TextField('補足', null=False) def __str__(self): return self.title
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Windowsでcreate-react-appでテンプレートが作成されないとき

 create-react-appで作成されない create-react-appで二度目以降、 固まって ... yarn eject Removes this tool and copies build dependencies, configuration files and scripts into the app directory. If you do this, you can’t go back! We suggest that you begin by typing: cd myapp yarn start Happy hacking! のところまでいかず ... Done in ~s と出て何も変わらない人向けの記事です。 ちなみに一度固まったらいくら待っても installing とはなりません。ご注意を。  上のメッセージに関わらず、きちんと実行できないときの対策 1.後述 2.グローバルにcreate-react-appを過去installした場合 →https://qiita.com/dhythm/items/92b3188d32ab5a5fd0e2 理由は知りませんがcreate-react-appはグローバルにインストールしない方がよさそうです。 3. package.jsonがどこかしら残ってる場合。 消しましょう。アプリは専用のホームディレクトリでなく専用フォルダを作って実装した方が良いらしいです。 4.npmのキャッシュが多すぎる場合 下のコマンドを実行 npm cache clean --force 5.エラーメッセージ:npm, yarnでインストールに時間がかかります!と出た場合。 into There appears to be trouble with your network connection . Retrying... yarn installを行うディレクトリで .yarnrcというファイルを作り中に network-timeout 600000 と記述する。もしくは下記のコマンドを実行。 yarn add YourPackageHere --network-timeout 100000 6.1~5まででは解決できなかった場合 npx の後に--ignore-existing を挟むと上手くいくことがある 例:npx --ignore-existing create-react-app my-app --template typescript 7.nodeのヴァージョンが古すぎたり、新しすぎると上手くいかない。こともあるらしい 8.最後の手段 フォルダ内のデータをすべて削除、create-react-appグローバルもローカルもアンインストール、npm, yarnアンインストール、nodeアンインストールしてもう一度色々とインストール。(でもウィンドウズだと結構メンドクサイ。。。) 1 参照先→https://stackoverflow.com/questions/58738299/cannot-create-react-app-template-npm-hangs/64535070#64535070?newreg=5c66d561771e4371ba76a29623b107bb デスクトップ左下の検索欄から「リソースモニター」を実行。 そのCPUタグを押したうえで create-react-appコマンドを実行。 それで中断したcmd.exeを右クリックして「プロセスの再開」をクリック。 原因 多分ずぼらな性格のせいで、勝手に作動するセキュリティソフト?ByteFenceを放置していたから。 最後 役に立ったらグッド反応ください。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

React appで作成したポートフォリオをGitHub Pagesでデプロイできた

React app(ポートフォリオサイト)をやっとデプロイできた 最終的に成功した時に参考にしたサイト 試した中でこのページ以外のやり方だと、なぜかエラーが出てデプロイできなかった。 エラーメッセージ npm ERR! missing script: build npm ERR! A complete log of this run can be found in: npm ERR! /Users/kakizakimanato/.npm/_logs/2021-06-07T14_05_58_985Z-debug.log npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! portfolio@0.1.0 deploy: `npm run build && gh-pages -d build` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the portfolio@0.1.0 deploy script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /Users/kakizakimanato/.npm/_logs/2021-06-07T14_05_59_032Z-debug.log kakizakimanato@kakiMacBook-Air portfolio % npm run deploy > portfolio@0.1.0 deploy /Users/kakizakimanato/deploy/portfolio > npm run build && gh-pages -d build npm ERR! missing script: build npm ERR! A complete log of this run can be found in: npm ERR! /Users/kakizakimanato/.npm/_logs/2021-06-07T14_06_57_636Z-debug.log npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! portfolio@0.1.0 deploy: `npm run build && gh-pages -d build` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the portfolio@0.1.0 deploy script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /Users/kakizakimanato/.npm/_logs/2021-06-07T14_06_57_690Z-debug.log まだ自分がデプロイできるかわからない時は、ファイルをコピーしてデプロイテスト用のディレクトリ内で試すといいかもしれません (色々な方法試しているうちにpackage.jsonファイルなどぐちゃぐちゃになります...) 少し追加でやらないといけないこと GitHubのアカウント情報を紐付ける $ git remote add origin https://github.com/<GitHubアカウント名>/<GitHubリポジトリ名>.git を実行する前に、GitHubアカウントの情報を設定する必要があった $ git config --global user.name "[githubユーザー名]" $ git config --global user.email "[githubで使用しているメールアドレス]" これでgit remote add originができる GitHub Pagesの設定 ソースブランチをmasterに設定し、rootファイルをdocsに変更し、["Save"]をクリック 数分待ってURLをクリックすると、成功していればWebサイトが見られるはず 次はファイルを編集後、再デプロイできるようになりたい
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む