<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Node.js | Men of Letters（メン・オブ・レターズ） &#8211; 論理的思考/業務改善/プログラミング</title>
	<atom:link href="https://laboratory.kazuuu.net/category/node-js/feed/" rel="self" type="application/rss+xml" />
	<link>https://laboratory.kazuuu.net</link>
	<description></description>
	<lastBuildDate>Sat, 21 Jan 2023 20:40:24 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.4</generator>

<image>
	<url>https://laboratory.kazuuu.net/wp-content/uploads/2021/02/cropped-L-32x32.png</url>
	<title>Node.js | Men of Letters（メン・オブ・レターズ） &#8211; 論理的思考/業務改善/プログラミング</title>
	<link>https://laboratory.kazuuu.net</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/>
<atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/>
<atom:link rel="hub" href="https://websubhub.com/hub"/>
<atom:link rel="self" href="https://laboratory.kazuuu.net/category/node-js/feed/"/>
	<item>
		<title>AWS EC2の「Ubuntu Server」インスタンス上でNode.jsとnpmをインストールする</title>
		<link>https://laboratory.kazuuu.net/installing-node-js-and-npm-on-an-aws-ec2-ubuntu-server-instance/</link>
					<comments>https://laboratory.kazuuu.net/installing-node-js-and-npm-on-an-aws-ec2-ubuntu-server-instance/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Sat, 21 Jan 2023 20:40:24 +0000</pubDate>
				<category><![CDATA[Amazon/AWS]]></category>
		<category><![CDATA[Node.js]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=13183</guid>

					<description><![CDATA[AWS EC2の「Ubuntu Server」インスタンス上でNode.jsとnpmをインストールしてみます。 この記事は「AWS EC2の「Ubuntu Server」インスタンス上でインストールされている Node. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>AWS EC2の「Ubuntu Server」インスタンス上でNode.jsとnpmをインストールしてみます。</p>
<p>この記事は「<a href="https://laboratory.kazuuu.net/check-the-version-of-node-js-installed-on-the-ubuntu-server-instance-of-aws-ec2">AWS EC2の「Ubuntu Server」インスタンス上でインストールされている Node.js の バージョンを確認する</a>」の続きでもあります。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■PC環境</a></li><li><a href="#toc2" tabindex="0">■SSHクライアント「PuTTY」を用いてSSHで接続する</a></li><li><a href="#toc3" tabindex="0">■Node.jsとnpmをインストールする</a></li><li><a href="#toc4" tabindex="0">■Node.jsとnpmのインストールを確認する</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■PC環境</span></h2>
<p>Windows10（Google Chrome）</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1.png"><img fetchpriority="high" decoding="async" class="alignnone size-medium wp-image-12528" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-300x282.png" alt="" width="300" height="282" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-300x282.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-1024x963.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-768x723.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>AWS インスタンス作成済み（Ubuntu 22.04 LTS (GNU/Linux 5.15.0-1011-aws x86 64)）</p>
<h2><span id="toc2">■SSHクライアント「PuTTY」を用いてSSHで接続する</span></h2>
<p>今回Node.jsとnpmのインストールを行いますが、その前に「AWS マネジメントコンソール」にログインし、「EC2」サービスへ移動します。移動後、「EC2 Management Console」内の左メニューの「インスタンス」の「インスタンス」をクリックすると、作成した「インスタンス」が一覧で表示されます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-120355-1.png"><img decoding="async" class="alignnone size-medium wp-image-13099" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-120355-1-300x72.png" alt="" width="300" height="72" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-120355-1-300x72.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-120355-1-1024x244.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-120355-1-768x183.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-120355-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>今回作成した「Ubuntu Server」インスタンスの「インスタンス状態」が「実行中」であることを確認します。確認後、SSHクライアント「PuTTY」を用いて、SSHで接続を行います。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-095006-1.png"><img decoding="async" class="alignnone size-medium wp-image-13094" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-095006-1-300x187.png" alt="" width="300" height="187" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-095006-1-300x187.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-095006-1-1024x640.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-095006-1-768x480.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-095006-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-095019-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13095" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-095019-1-300x58.png" alt="" width="300" height="58" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-095019-1-300x58.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-095019-1-1024x197.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-095019-1-768x147.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-095019-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<pre>Welcome to Ubuntu 22.04 LTS (GNU/Linux 5.15.0-1011-aws x86 64)
* Documentation: https://help.ub 
* Management: https://landscape.canonical.com 
* Support: https://ubuntu.com/advantage
System information as of Fri Jul 8 00:49:50 UTC 2022
System load: 0.0 Usage of 7: 22.6% of 7.58GB Memory usage: 234 Swap usage: 0%
Processes:
100 Users logged in: IPv4 address for etho: ***.**.**.**
* Ubuntu Pro delivers the most comprehensive open source security and,
compliance features.

<a rel="noopener" href="https://ubuntu.com/aws/pro" title="Ubuntu Pro for AWS | Ubuntu" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://laboratory.kazuuu.net/wp-content/uploads/cocoon-resources/blog-card-cache/722acc84e35318950ddbd391e7c112bc.png" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="320" height="180" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Ubuntu Pro for AWS | Ubuntu</div><div class="blogcard-snippet external-blogcard-snippet">Ubuntu Pro for AWS, the Ubuntu image optimized for production and professional use on public cloud. Including live kerne...</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://ubuntu.com/aws/pro" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">ubuntu.com</div></div></div></div></a>

42 updates can be applied immediately. 
22 of these updates are standard security updates. 
To see these additional updates run: apt list --upgradable</pre>
<p>SSHで接続すると、上記のようなメッセージが出力されます。</p>
<pre>ubuntu@ip-**-**-**-**(ipアドレス):~$</pre>
<p>出力後、上記のように出力されれば、接続は完了となります。</p>
<h2><span id="toc3">■Node.jsとnpmをインストールする</span></h2>
<pre>$ sudo apt update</pre>
<p>接続完了後、上記のコマンドを入力し、Enterキーを押します。sudo権限で「apt」コマンドを用います。「apt」コマンドは、システム内のソフトウェアのインストール、削除、更新を担当し、「update」でリポジトリ内の利用可能なすべてのソフトウェアを読み取り、これらを「Ubuntu 22.04 LTS」インスタンス側にあるバージョンと比較して、最新のものに更新します。Enterキーを押すと、更新が行われ、完了となります。</p>
<pre>$ sudo apt install nodejs npm</pre>
<p>完了後、上記のコマンドを入力し、Enterキーを押します。sudo権限で「apt」コマンドを用います。これでNode.jsとnpmのインストールを行います。</p>
<pre>Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  build-essential bzip2 dpkg-dev fakeroot g++ g++-11 gcc gcc-11 gyp
  javascript-common libalgorithm-diff-perl libalgorithm-diff-xs-perl
  libalgorithm-merge-perl libasan6 libatomic1 libc-ares2 libc-dev-bin
  libc-devtools libc6-dev libcc1-0 libcrypt-dev libdpkg-perl libfakeroot
  libfile-fcntllock-perl libgcc-11-dev libgd3 libgomp1 libitm1 libjs-events
  libjs-highlight.js libjs-inherits libjs-is-typedarray libjs-psl
  libjs-source-map libjs-sprintf-js libjs-typedarray-to-buffer liblsan0
  libnode-dev libnode72 libnotify-bin libnotify4 libnsl-dev libquadmath0
  libssl-dev libstdc++-11-dev libtirpc-dev libtsan0 libubsan1 libuv1-dev
  linux-libc-dev lto-disabled-list make manpages-dev node-abab node-abbrev
  node-agent-base node-ansi-regex node-ansi-styles node-ansistyles node-aproba
  node-archy node-are-we-there-yet node-argparse node-arrify node-asap
  node-asynckit node-balanced-match node-brace-expansion node-builtins
  node-cacache node-chalk node-chownr node-clean-yaml-object node-cli-table
  node-clone node-color-convert node-color-name node-colors node-columnify
  node-combined-stream node-commander node-console-control-strings
  node-copy-concurrently node-core-util-is node-coveralls node-cssom
  node-cssstyle node-debug node-decompress-response node-defaults
  node-delayed-stream node-delegates node-depd node-diff node-encoding
  node-end-of-stream node-err-code node-escape-string-regexp node-esprima
  node-events node-fancy-log node-fetch node-foreground-child node-form-data
  node-fs-write-stream-atomic node-fs.realpath node-function-bind node-gauge
  node-get-stream node-glob node-got node-graceful-fs node-growl node-gyp
  node-has-flag node-has-unicode node-hosted-git-info node-https-proxy-agent
  node-iconv-lite node-iferr node-imurmurhash node-indent-string node-inflight
  node-inherits node-ini node-ip node-ip-regex node-is-buffer
  node-is-plain-obj node-is-typedarray node-isarray node-isexe node-js-yaml
  node-jsdom node-json-buffer node-json-parse-better-errors node-jsonparse
  node-kind-of node-lcov-parse node-lodash-packages node-log-driver
  node-lowercase-keys node-lru-cache node-mime node-mime-types
  node-mimic-response node-minimatch node-minimist node-minipass node-mkdirp
  node-move-concurrently node-ms node-mute-stream node-negotiator node-nopt
  node-normalize-package-data node-npm-bundled node-npm-package-arg
  node-npmlog node-object-assign node-once node-opener node-osenv
  node-p-cancelable node-p-map node-path-is-absolute node-process-nextick-args
  node-promise-inflight node-promise-retry node-promzard node-psl node-pump
  node-punycode node-quick-lru node-read node-read-package-json
  node-readable-stream node-resolve node-retry node-rimraf node-run-queue
  node-safe-buffer node-semver node-set-blocking node-signal-exit node-slash
  node-slice-ansi node-source-map node-source-map-support node-spdx-correct
  node-spdx-exceptions node-spdx-expression-parse node-spdx-license-ids
  node-sprintf-js node-ssri node-stack-utils node-stealthy-require
  node-string-decoder node-string-width node-strip-ansi node-supports-color
  node-tap node-tap-mocha-reporter node-tap-parser node-tar node-text-table
  node-time-stamp node-tmatch node-tough-cookie node-typedarray-to-buffer
  node-unique-filename node-universalify node-util-deprecate
  node-validate-npm-package-license node-validate-npm-package-name
  node-wcwidth.js node-webidl-conversions node-whatwg-fetch node-which
  node-wide-align node-wrappy node-write-file-atomic node-ws node-yallist
  nodejs-doc rpcsvc-proto
Suggested packages:
  bzip2-doc debian-keyring g++-multilib g++-11-multilib gcc-11-doc
  gcc-multilib autoconf automake libtool flex bison gdb gcc-doc
  gcc-11-multilib gcc-11-locales apache2 | lighttpd | httpd glibc-doc bzr
  libgd-tools libjs-angularjs gnome-shell | notification-daemon libssl-doc
  libstdc++-11-doc make-doc node-nyc
The following NEW packages will be installed:
  build-essential bzip2 dpkg-dev fakeroot g++ g++-11 gcc gcc-11 gyp
  javascript-common libalgorithm-diff-perl libalgorithm-diff-xs-perl
  libalgorithm-merge-perl libasan6 libatomic1 libc-ares2 libc-dev-bin
  libc-devtools libc6-dev libcc1-0 libcrypt-dev libdpkg-perl libfakeroot
  libfile-fcntllock-perl libgcc-11-dev libgd3 libgomp1 libitm1 libjs-events
  libjs-highlight.js libjs-inherits libjs-is-typedarray libjs-psl
  libjs-source-map libjs-sprintf-js libjs-typedarray-to-buffer liblsan0
  libnode-dev libnode72 libnotify-bin libnotify4 libnsl-dev libquadmath0
  libssl-dev libstdc++-11-dev libtirpc-dev libtsan0 libubsan1 libuv1-dev
  linux-libc-dev lto-disabled-list make manpages-dev node-abab node-abbrev
  node-agent-base node-ansi-regex node-ansi-styles node-ansistyles node-aproba
  node-archy node-are-we-there-yet node-argparse node-arrify node-asap
  node-asynckit node-balanced-match node-brace-expansion node-builtins
  node-cacache node-chalk node-chownr node-clean-yaml-object node-cli-table
  node-clone node-color-convert node-color-name node-colors node-columnify
  node-combined-stream node-commander node-console-control-strings
  node-copy-concurrently node-core-util-is node-coveralls node-cssom
  node-cssstyle node-debug node-decompress-response node-defaults
  node-delayed-stream node-delegates node-depd node-diff node-encoding
  node-end-of-stream node-err-code node-escape-string-regexp node-esprima
  node-events node-fancy-log node-fetch node-foreground-child node-form-data
  node-fs-write-stream-atomic node-fs.realpath node-function-bind node-gauge
  node-get-stream node-glob node-got node-graceful-fs node-growl node-gyp
  node-has-flag node-has-unicode node-hosted-git-info node-https-proxy-agent
  node-iconv-lite node-iferr node-imurmurhash node-indent-string node-inflight
  node-inherits node-ini node-ip node-ip-regex node-is-buffer
  node-is-plain-obj node-is-typedarray node-isarray node-isexe node-js-yaml
  node-jsdom node-json-buffer node-json-parse-better-errors node-jsonparse
  node-kind-of node-lcov-parse node-lodash-packages node-log-driver
  node-lowercase-keys node-lru-cache node-mime node-mime-types
  node-mimic-response node-minimatch node-minimist node-minipass node-mkdirp
  node-move-concurrently node-ms node-mute-stream node-negotiator node-nopt
  node-normalize-package-data node-npm-bundled node-npm-package-arg
  node-npmlog node-object-assign node-once node-opener node-osenv
  node-p-cancelable node-p-map node-path-is-absolute node-process-nextick-args
  node-promise-inflight node-promise-retry node-promzard node-psl node-pump
  node-punycode node-quick-lru node-read node-read-package-json
  node-readable-stream node-resolve node-retry node-rimraf node-run-queue
  node-safe-buffer node-semver node-set-blocking node-signal-exit node-slash
  node-slice-ansi node-source-map node-source-map-support node-spdx-correct
  node-spdx-exceptions node-spdx-expression-parse node-spdx-license-ids
  node-sprintf-js node-ssri node-stack-utils node-stealthy-require
  node-string-decoder node-string-width node-strip-ansi node-supports-color
  node-tap node-tap-mocha-reporter node-tap-parser node-tar node-text-table
  node-time-stamp node-tmatch node-tough-cookie node-typedarray-to-buffer
  node-unique-filename node-universalify node-util-deprecate
  node-validate-npm-package-license node-validate-npm-package-name
  node-wcwidth.js node-webidl-conversions node-whatwg-fetch node-which
  node-wide-align node-wrappy node-write-file-atomic node-ws node-yallist
  nodejs nodejs-doc npm rpcsvc-proto
0 upgraded, 228 newly installed, 0 to remove and 19 not upgraded.
Need to get 72.2 MB of archives.
After this operation, 274 MB of additional disk space will be used.

Do you want to continue? [Y/n]</pre>
<p>Enterキーを押すと、取得するアーカイブの情報や追加ディスクスペースの容量などが出力され、「Do you want to continue?（続けますか？）」と質問されますので、インストールを進めますので、「Y」と入力し、Enterキーを押します。</p>
<p>Enterキーを押すと、インストールが開始され、しばらくすると完了となります。</p>
<h2><span id="toc4">■Node.jsとnpmのインストールを確認する</span></h2>
<pre>$ nodejs --version</pre>
<p>インストール完了後、上記のコマンドを入力し、Enterキーを押します。「nodejs」コマンドを用い、オプションで「&#8211;version」と指定します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-13-074819-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13184" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-13-074819-1-300x93.png" alt="" width="300" height="93" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-13-074819-1-300x93.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-13-074819-1-1024x316.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-13-074819-1-768x237.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-13-074819-1.png 1248w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<pre>v12.22.9</pre>
<p>Enterキーを押すと、node.jsのバージョンが出力されました。これで実際にnode.jsがインストールされていることが確認できました。</p>
<pre>$ npm --version</pre>
<p>次に、npmのバージョンを確認してみます。確認のために、上記のコマンドを入力し、Enterキーを押します。「npm」コマンドを用い、オプションで「&#8211;version」と指定します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-13_1-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13185" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-13_1-1-300x115.png" alt="" width="300" height="115" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-13_1-1-300x115.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-13_1-1-1024x392.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-13_1-1-768x294.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-13_1-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<pre>8.5.1</pre>
<p>Enterキーを押すと、npmのバージョンが出力されました。これで実際にnpmがインストールされていることが確認できました。これでNode.jsとnpmのインストール確認は完了となります。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/installing-node-js-and-npm-on-an-aws-ec2-ubuntu-server-instance/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AWS EC2の「Ubuntu Server」インスタンス上でインストールされている Node.js の バージョンを確認する</title>
		<link>https://laboratory.kazuuu.net/check-the-version-of-node-js-installed-on-the-ubuntu-server-instance-of-aws-ec2/</link>
					<comments>https://laboratory.kazuuu.net/check-the-version-of-node-js-installed-on-the-ubuntu-server-instance-of-aws-ec2/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Wed, 18 Jan 2023 20:41:05 +0000</pubDate>
				<category><![CDATA[Amazon/AWS]]></category>
		<category><![CDATA[Node.js]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=13171</guid>

					<description><![CDATA[AWS EC2の「Ubuntu Server」インスタンス上でインストールされている Node.js の バージョンを確認してみます。 なお、この記事は「AWS EC2の「Ubuntu Server」インスタンスにSSH [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>AWS EC2の「Ubuntu Server」インスタンス上でインストールされている Node.js の バージョンを確認してみます。</p>
<p>なお、この記事は「<a href="https://laboratory.kazuuu.net/connect-to-an-aws-ec2-ubuntu-server-instance-via-ssh-using-the-ssh-client-putty">AWS EC2の「Ubuntu Server」インスタンスにSSHクライアント「PuTTY」を用いてSSHで接続する</a>」という記事の続きでもあります。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■PC環境</a></li><li><a href="#toc2" tabindex="0">■SSHクライアント「PuTTY」を用いてSSHで接続する</a></li><li><a href="#toc3" tabindex="0">■Node.js のバージョンを確認する</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■PC環境</span></h2>
<p>Windows10（Google Chrome）</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-12528" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-300x282.png" alt="" width="300" height="282" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-300x282.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-1024x963.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-768x723.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>AWS インスタンス作成済み（Ubuntu 22.04 LTS (GNU/Linux 5.15.0-1011-aws x86 64)）</p>
<h2><span id="toc2">■SSHクライアント「PuTTY」を用いてSSHで接続する</span></h2>
<p>インストールされている Node.js の バージョンを確認してみますが、その前に「AWS マネジメントコンソール」にログインし、「EC2」サービスへ移動します。移動後、「EC2 Management Console」内の左メニューの「インスタンス」の「インスタンス」をクリックすると、作成した「インスタンス」が一覧で表示されます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-120355-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13099" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-120355-1-300x72.png" alt="" width="300" height="72" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-120355-1-300x72.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-120355-1-1024x244.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-120355-1-768x183.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-120355-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>今回作成した「Ubuntu Server」インスタンスの「インスタンス状態」が「実行中」であることを確認します。確認後、SSHクライアント「PuTTY」を用いて、SSHで接続を行います。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-095006-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13094" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-095006-1-300x187.png" alt="" width="300" height="187" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-095006-1-300x187.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-095006-1-1024x640.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-095006-1-768x480.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-095006-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-095019-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13095" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-095019-1-300x58.png" alt="" width="300" height="58" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-095019-1-300x58.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-095019-1-1024x197.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-095019-1-768x147.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/07/スクリーンショット-2022-07-08-095019-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<pre>Welcome to Ubuntu 22.04 LTS (GNU/Linux 5.15.0-1011-aws x86 64)
* Documentation: https://help.ub 
* Management: https://landscape.canonical.com 
* Support: https://ubuntu.com/advantage
System information as of Fri Jul 8 00:49:50 UTC 2022
System load: 0.0 Usage of 7: 22.6% of 7.58GB Memory usage: 234 Swap usage: 0%
Processes:
100 Users logged in: IPv4 address for etho: ***.**.**.**
* Ubuntu Pro delivers the most comprehensive open source security and,
compliance features.

<a rel="noopener" href="https://ubuntu.com/aws/pro" title="Ubuntu Pro for AWS | Ubuntu" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://laboratory.kazuuu.net/wp-content/uploads/cocoon-resources/blog-card-cache/722acc84e35318950ddbd391e7c112bc.png" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="320" height="180" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Ubuntu Pro for AWS | Ubuntu</div><div class="blogcard-snippet external-blogcard-snippet">Ubuntu Pro for AWS, the Ubuntu image optimized for production and professional use on public cloud. Including live kerne...</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://ubuntu.com/aws/pro" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">ubuntu.com</div></div></div></div></a>

42 updates can be applied immediately. 
22 of these updates are standard security updates. 
To see these additional updates run: apt list --upgradable</pre>
<p>SSHで接続すると、上記のようなメッセージが出力されます。</p>
<pre>ubuntu@ip-**-**-**-**(ipアドレス):~$</pre>
<p>出力後、上記のように出力されれば、接続は完了となります。</p>
<h2><span id="toc3">■Node.js のバージョンを確認する</span></h2>
<pre>$ nodejs --version</pre>
<p>接続後、上記のコマンドを入力し、Enterキーを押します。「nodejs」コマンドを用い、オプションで「&#8211;version」と指定します。これでインストールされている Node.js の バージョンを確認することができます。</p>
<pre>Command 'nodejs' not found, but can be installed with:
sudo apt install nodejs</pre>
<p>確認すると、Enterキーを押すと上記のメッセージが出力されます。出力された内容を確認すると、「Command &#8216;nodejs&#8217; not found（コマンド &#8216;nodejs&#8217; が見つかりません）」と書かれており、作成したインスタンス（「Ubuntu 22.04 LTS (GNU/Linux 5.15.0-1011-aws x86 64)」）にはインストールされていないことが確認できました。</p>
<p>なお、Node.js はインストールされていませんが、「but can be installed with: sudo apt install nodejs」、sudo権限でaptを用いてターゲット（nodejs）をインストールすることをメッセージで提案しています。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/check-the-version-of-node-js-installed-on-the-ubuntu-server-instance-of-aws-ec2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Serverless Frameworkを用いてAWSにFlask appをデプロイする（Windows10）</title>
		<link>https://laboratory.kazuuu.net/deploy-flask-app-on-aws-using-serverless-framework-windows10/</link>
					<comments>https://laboratory.kazuuu.net/deploy-flask-app-on-aws-using-serverless-framework-windows10/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Sun, 30 Oct 2022 20:42:22 +0000</pubDate>
				<category><![CDATA[Node.js]]></category>
		<category><![CDATA[Python【初歩から現場実務的なもの】]]></category>
		<category><![CDATA[Serverless Framework]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=12556</guid>

					<description><![CDATA[Serverless Frameworkを用いてAWSにFlask appをデプロイしてみます。 目次 ■PC環境■フォルダ・ディレクトリを作成する■仮想環境の作成■スクリプト（.pyファイル）を作成する■コード■ser [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Serverless Frameworkを用いてAWSにFlask appをデプロイしてみます。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■PC環境</a></li><li><a href="#toc2" tabindex="0">■フォルダ・ディレクトリを作成する</a></li><li><a href="#toc3" tabindex="0">■仮想環境の作成</a></li><li><a href="#toc4" tabindex="0">■スクリプト（.pyファイル）を作成する</a><ol><li><a href="#toc5" tabindex="0">■コード</a></li></ol></li><li><a href="#toc6" tabindex="0">■serverless.ymlを作成する</a><ol><li><a href="#toc7" tabindex="0">■コード</a></li></ol></li><li><a href="#toc8" tabindex="0">■Flaskのインストール等を行う</a></li><li><a href="#toc9" tabindex="0">■デプロイする</a><ol><li><a href="#toc10" tabindex="0">■コード（変更前）</a></li><li><a href="#toc11" tabindex="0">■コード（変更後）</a></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">■PC環境</span></h2>
<p>&gt;Windows 10</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-12528" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-300x282.png" alt="" width="300" height="282" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-300x282.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-1024x963.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-768x723.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&gt;npm &#8211;version<br />
8.3.1</p>
<p>&gt;node &#8211;version<br />
v16.14.0</p>
<p>&gt;nodeserverless &#8211;version</p>
<p>Framework Core: 3.19.0<br />
Plugin: 6.2.2<br />
SDK: 4.3.2</p>
<p>&gt;aws &#8211;version<br />
aws-cli/2.5.6 Python/3.9.11 Windows/10 exe/AMD64 prompt/off</p>
<p>&gt;仮想環境<br />
Python 3.8.5</p>
<h2><span id="toc2">■フォルダ・ディレクトリを作成する</span></h2>
<p>まずは、フォルダ・ディレクトリを作成します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-11-133533-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-12557" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-11-133533-1-300x165.png" alt="" width="300" height="165" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-11-133533-1-300x165.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-11-133533-1-1024x562.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-11-133533-1-768x422.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-11-133533-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>今回は「C:\Users\user_（フォルダパス）」内に「test-flask-application」というフォルダを作成しました。</p>
<h2><span id="toc3">■仮想環境の作成</span></h2>
<p>作成後、Windows10のコマンドプロンプトを起動します。</p>
<pre>C:\Users\user_&gt;py -3.8 -m venv venv</pre>
<p>起動後、上記のコマンドを入力し、Enterキーを押します。venvを使用し、仮想環境を作ります。今回は、環境名を「venv」にします。なお、今回はPythonのバージョンを「3.8」に指定しています。</p>
<p>Enterキーを押すと、何も出力されませんが、仮想環境が作成されます。</p>
<pre>C:\Users\user_&gt;.\venv\Scripts\activate</pre>
<p>作成後、上記のコマンドを入力し、Enterキーを押します。仮想環境への切り替えを行います。</p>
<pre>(.venv) C:\Users\user_&gt;</pre>
<p>Enterキーを押すと「.venv」と表示されます。これで仮想環境への切り替えが完了しました。</p>
<pre>(.venv) C:\Users\user_&gt;cd test-flask-application</pre>
<p>切り替え後、上記のコマンドを入力し、Enterキーを押します。先程作成した「test-flask-application」に移動します。</p>
<pre>(.venv) C:\Users\user_&gt;npm init -f</pre>
<p>移動後、上記のコマンドを入力し、Enterキーを押します。初期化処理を行い、package.jsonを生成します。</p>
<pre>npm WARN using --force Recommended protections disabled.
Wrote to C:\Users\user_\test-flask-application\package.json:

{
  "name": "test-flask-application",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" &amp;&amp; exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}</pre>
<p>package.jsonの内容が出力されます。</p>
<pre>(.venv) C:\Users\user_&gt;npm install --save-dev serverless-wsgi serverless-python-requirements</pre>
<p>出力後、上記のコマンドを入力し、Enterキーを押します。フレームワークプラグインのserverless-wsgiと、依存関係をrequirements.txtから自動的にバンドルし、PYTHONPATHで利用できるようにするサーバーレスプラグインであるserverless-python-requirementsを「&#8211;save-dev」コマンドを用いて、ローカルインストールします。</p>
<pre>npm WARN deprecated appdirectory@0.1.0: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
npm WARN deprecated querystring@0.2.1: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated formidable@1.2.6: Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated superagent@3.8.3: Please upgrade to v7.0.2+ of superagent.  We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing.  See the releases tab for more information at &lt;https://github.com/visionmedia/superagent/releases&gt;.

added 427 packages, and audited 428 packages in 44s

56 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities</pre>
<p>Enterキーを押すと、インストールが開始され、完了となります。</p>
<h2><span id="toc4">■スクリプト（.pyファイル）を作成する</span></h2>
<p>完了後、スクリプト（.pyファイル）を作成します。コードエディタを開きます。</p>
<h3><span id="toc5">■コード</span></h3>
<pre>from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
return "こんにちは、世界!"</pre>
<p>上記のコードを記述後、「main.py」という名前で、「test-flask-application」フォルダ内に保存します。</p>
<h2><span id="toc6">■serverless.ymlを作成する</span></h2>
<p>スクリプト（.pyファイル）を作成後、コードエディタを開きます。今度はアプリケーションをデプロイするために、serverless.ymlを作成します。</p>
<h3><span id="toc7">■コード</span></h3>
<pre>service: serverless-flask

plugins:
  - serverless-python-requirements
  - serverless-wsgi

custom:
  wsgi:
    app: main.app
    packRequirements: false
  pythonRequirements:
    dockerizePip: non-linux

provider:
  name: aws
  runtime: python3.8
  stage: dev
  region: ap-northeast-1

functions:
  app:
    handler: wsgi.handler
    events:
      - http: ANY /
      - http: 'ANY {proxy+}'</pre>
<p>コードを記述後、「serverless.yml」という名前で、「test-flask-application」フォルダ内に保存します。</p>
<h2><span id="toc8">■Flaskのインストール等を行う</span></h2>
<p>保存後、再び起動しているWindows10のコマンドプロンプト上に戻ります。</p>
<pre>(.venv) C:\Users\user_\test-flask-application&gt;pip install flask</pre>
<p>戻った後に、上記のコマンドを入力し、Enterキーを押します。pipを経由してflaskをインストールします。</p>
<pre>Collecting flask
  Using cached Flask-2.1.2-py3-none-any.whl (95 kB)
Collecting itsdangerous&gt;=2.0
  Using cached itsdangerous-2.1.2-py3-none-any.whl (15 kB)
Collecting importlib-metadata&gt;=3.6.0; python_version &lt; "3.10" Using cached importlib_metadata-4.11.4-py3-none-any.whl (18 kB) Collecting Jinja2&gt;=3.0
  Using cached Jinja2-3.1.2-py3-none-any.whl (133 kB)
Collecting click&gt;=8.0
  Using cached click-8.1.3-py3-none-any.whl (96 kB)
Collecting Werkzeug&gt;=2.0
  Using cached Werkzeug-2.1.2-py3-none-any.whl (224 kB)
Collecting zipp&gt;=0.5
  Using cached zipp-3.8.0-py3-none-any.whl (5.4 kB)
Collecting MarkupSafe&gt;=2.0
  Using cached MarkupSafe-2.1.1-cp38-cp38-win_amd64.whl (17 kB)
Collecting colorama; platform_system == "Windows"
  Using cached colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Installing collected packages: itsdangerous, zipp, importlib-metadata, MarkupSafe, Jinja2, colorama, click, Werkzeug, flask
Successfully installed Jinja2-3.1.2 MarkupSafe-2.1.1 Werkzeug-2.1.2 click-8.1.3 colorama-0.4.4 flask-2.1.2 importlib-metadata-4.11.4 itsdangerous-2.1.2 zipp-3.8.0
WARNING: You are using pip version 20.1.1; however, version 22.1.2 is available.
You should consider upgrading via the 'c:\users\user_\.venv\scripts\python.exe -m pip install --upgrade pip' command.</pre>
<p>「Successfully installed」と出力されれば、インストールは完了です。「WARNING」が出力されていますが、警告でありエラーではないので、一旦無視します。</p>
<pre>(.venv) C:\Users\user_\test-flask-application&gt;pip freeze &gt; requirements.txt</pre>
<p>インストール後、上記のコマンドを入力し、Enterキーを押します。pipを経由してfreezeをインストールし、内容をrequirements.txtに出力します。</p>
<p>Enterキーを押すと何も出力されませんが、これでインストールは完了となります。</p>
<h2><span id="toc9">■デプロイする</span></h2>
<pre>(.venv) C:\Users\user_\test-flask-application&gt;sls deploy</pre>
<p>完了後、上記のコマンドを入力し、Enterキーを押します。ServerlessFrameworkコマンドを用いてdeployを行います。</p>
<pre>Running "serverless" from node_modules

Warning: Invalid configuration encountered
at 'functions.app.events.1.http': value 'ANY {proxy+}' does not satisfy pattern /^(?:\*|(GET|POST|PUT|PATCH|OPTIONS|HEAD|DELETE|ANY) (\/\S*))$/i

Learn more about configuration validation here: http://slss.io/configuration-validation

Deploying serverless-flask to stage dev (ap-northeast-1)
Warning: Please change "wsgi.handler" to "wsgi_handler.handler" in serverless.yml
Warning: Using "wsgi.handler" still works but has been deprecated and will be removed
Warning: More information at https://github.com/logandk/serverless-wsgi/issues/84
Python executable not found for "runtime": python3.8
Using default Python executable: python
Packaging Python WSGI handler...

✔ Service deployed to stack serverless-flask-dev (151s)

endpoints:
ANY - https://****.execute-api.ap-northeast-1.amazonaws.com/dev
ANY - https://****.execute-api.ap-northeast-1.amazonaws.com/dev/{proxy+}
functions:g (0s)
app: serverless-flask-dev-app (1.6 MB)

1 deprecation found: run 'serverless doctor' for more details

Toggle on monitoring with the Serverless Dashboard: run "serverless"</pre>
<p>Enterキーを押すと、デプロイが開始され、しばらくすると完了となります。完了後、「https://****.execute-api.ap-northeast-1.amazonaws.com/dev」といったURLが出力されますので、このURLをコピーします。</p>
<p>コピー後、Webブラウザを起動し、アドレスバーにURLを貼り付けてアクセスします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-11-150534-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-12558" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-11-150534-1-300x131.png" alt="" width="300" height="131" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-11-150534-1-300x131.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-11-150534-1-1024x447.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-11-150534-1-768x335.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-11-150534-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>アクセスしてみると、スクリプト（.pyファイル）内のdef文で定義した関数が呼び出され、returnで設定した日本語の文字列を表示させることができました。</p>
<p>なお、ServerlessFrameworkコマンドを用いてdeployを行う際に「Deployment bucket has been removed manually. Please recreate it or remove your service and attempt to deploy it again」というエラーが出力される場合は、serverless.yml内の「service: ***」の「***」を変更することで、デプロイができる。</p>
<p>また、今回ServerlessFrameworkコマンドを用いてdeployを行う際に、下記の警告が出力されました。</p>
<pre>Warning: Invalid configuration encountered
at 'functions.app.events.1.http': value 'ANY {proxy+}' does not satisfy pattern /^(?:\*|(GET|POST|PUT|PATCH|OPTIONS|HEAD|DELETE|ANY) (\/\S*))$/i

Learn more about configuration validation here: http://slss.io/configuration-validation</pre>
<p>この警告を改善するには、serverless.yml内の下記のコードに変更しデプロイすると、警告が出力されなくなる。</p>
<h3><span id="toc10">■コード（変更前）</span></h3>
<pre>functions:
  app:
    handler: wsgi.handler
    events:
      - http: ANY /
      - http: 'ANY {proxy+}'</pre>
<h3><span id="toc11">■コード（変更後）</span></h3>
<pre>functions:
  app:
    handler: wsgi.handler
    events:
      - http: ANY /
      - http: 'ANY /{proxy+}'</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/deploy-flask-app-on-aws-using-serverless-framework-windows10/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Serverless Frameworkテンプレート内にプログラムを追加し更新する</title>
		<link>https://laboratory.kazuuu.net/add-and-update-programs-in-the-serverless-framework-template/</link>
					<comments>https://laboratory.kazuuu.net/add-and-update-programs-in-the-serverless-framework-template/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Mon, 24 Oct 2022 20:41:45 +0000</pubDate>
				<category><![CDATA[Node.js]]></category>
		<category><![CDATA[Python【初歩から現場実務的なもの】]]></category>
		<category><![CDATA[Serverless Framework]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=12545</guid>

					<description><![CDATA[Serverless Frameworkテンプレート内にプログラムを追加し更新してみます。 前回、Serverless Frameworkを用いてテンプレートを作成しPython関数を呼び出すという記事を公開しましたが、 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Serverless Frameworkテンプレート内にプログラムを追加し更新してみます。</p>
<p>前回、<a href="https://laboratory.kazuuu.net/create-templates-and-call-python-functions-using-serverless-framework">Serverless Frameworkを用いてテンプレートを作成しPython関数を呼び出す</a>という記事を公開しましたが、今回はServerless Frameworkを用いて作成したテンプレート内のプログラムを追加し更新してみます。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■PC環境</a></li><li><a href="#toc2" tabindex="0">■プロジェクトディレクトリを作成する</a><ol><li><a href="#toc3" tabindex="0">■コード（変更前）</a></li><li><a href="#toc4" tabindex="0">■コード（変更後）</a></li></ol></li><li><a href="#toc5" tabindex="0">■追加したプログラムを更新する</a></li><li><a href="#toc6" tabindex="0">■関数を呼び出す</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■PC環境</span></h2>
<p>&gt;Windows 10</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-12528" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-300x282.png" alt="" width="300" height="282" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-300x282.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-1024x963.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-768x723.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&gt;npm &#8211;version<br />
8.3.1</p>
<p>&gt;node &#8211;version<br />
v16.14.0</p>
<p>&gt;nodeserverless &#8211;version</p>
<p>Framework Core: 3.19.0<br />
Plugin: 6.2.2<br />
SDK: 4.3.2</p>
<p>&gt;aws &#8211;version<br />
aws-cli/2.5.6 Python/3.9.11 Windows/10 exe/AMD64 prompt/off</p>
<h2><span id="toc2">■プロジェクトディレクトリを作成する</span></h2>
<p>前回、Serverless Frameworkを用いて「C:\Users\user_\project_test（フォルダパス）」内に「project_test」ディレクトリを作成し、その中に「.gitignore」、「handler.py」、「serverless.yml」という3つのファイルが生成されましたが、プログラムを追加してみますので、「handler.py」のファイルをコードエディタで開きます。</p>
<h3><span id="toc3">■コード（変更前）</span></h3>
<pre>import json


def hello(event, context):
    body = {
        "message": "Go Serverless v1.0! Your function executed successfully!",
        "input": event
    }

    response = {
        "statusCode": 200,
        "body": json.dumps(body)
    }

    return response

    # Use this code if you don't use the http event with the LAMBDA-PROXY
    # integration
    """
    return {
        "message": "Go Serverless v1.0! Your function executed successfully!",
        "event": event
    }
    """
</pre>
<p>コードエディタで開くと上記のコードが表示されます。</p>
<h3><span id="toc4">■コード（変更後）</span></h3>
<pre>import json

def hello(event, context):

    a = 10

    b = 5

    return a+b</pre>
<p>表示後、コードを上記のように変更します。def文を用いてhelloという関数を定義し、関数を呼び出した時に実行される処理として、a変数とb変数に格納した数値を算術演算子&#8221;+&#8221;（プラス）を用いて加算し、加算した結果をreturnとして返すようにします。</p>
<p>コードを記述後、保存します。</p>
<h2><span id="toc5">■追加したプログラムを更新する</span></h2>
<p>保存後、追加（変更）したプログラムを更新するために、Windows10のコマンドプロンプトを起動します。</p>
<pre>C:\Users\user_&gt;cd project_test</pre>
<p>起動後、上記のコマンドを入力し、Enterキーを入力します。cdコマンドで作成した「project_test」ディレクトリに移動します。</p>
<pre>C:\Users\user_\project_test&gt;cd project_test</pre>
<p>移動後、上記のコマンドを入力し、Enterキーを入力します。さらにServerless Frameworkを用いて作成した「project_test」ディレクトリに移動します。</p>
<pre>C:\Users\user_\project_test\project_test&gt;serverless deploy function -f hello</pre>
<p>移動後、上記のコマンドを入力し、Enterキーを入力します。「deploy function -f」コマンドで、def文を用いて定義したhello関数をデプロイします。</p>
<pre>Deploying function hello to stage dev (us-east-1)

✔ Function code deployed (2s)
Configuration did not change. Configuration update skipped. (2s)
</pre>
<p>Enterキーを押すと、上記のメッセージが出力されます。「Function code deployed」にチェックが入っているので、これでデプロイは完了となります。</p>
<h2><span id="toc6">■関数を呼び出す</span></h2>
<p>完了後、検証のために、プログラムを実行し、関数を呼び出してみます。</p>
<pre>C:\Users\user_\project_test\project_test&gt;serverless invoke -f hello -l</pre>
<p>関数を呼び出すために、コマンドプロンプト上で、上記のコマンドを入力し、Enterキーを入力します。「invoke」コマンドで関数を呼び出します。</p>
<pre>15
--------------------------------------------------------------------
START
END RequestId: *******-****-****-****-**********
END Duration: 1.10 ms (init: 110.79 ms) Memory Used: 36 MB
</pre>
<p>Enterキーを押すと、def文を用いてhelloという関数を定義しましたが、定義した関数を呼び出しreturnを返させることができました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/add-and-update-programs-in-the-serverless-framework-template/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Serverless Frameworkを用いてテンプレートを作成しPython関数を呼び出す</title>
		<link>https://laboratory.kazuuu.net/create-templates-and-call-python-functions-using-serverless-framework/</link>
					<comments>https://laboratory.kazuuu.net/create-templates-and-call-python-functions-using-serverless-framework/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Sat, 22 Oct 2022 20:39:59 +0000</pubDate>
				<category><![CDATA[Node.js]]></category>
		<category><![CDATA[Python【初歩から現場実務的なもの】]]></category>
		<category><![CDATA[Serverless Framework]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=12533</guid>

					<description><![CDATA[Serverless Frameworkを用いてテンプレートを作成しPython関数を呼び出してみます。 今回は、Serverless Frameworkを用いてテンプレートを作成しPython関数を呼び出してみますが、 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Serverless Frameworkを用いてテンプレートを作成しPython関数を呼び出してみます。</p>
<p>今回は、Serverless Frameworkを用いてテンプレートを作成しPython関数を呼び出してみますが、その前にシステムにawscliをインストールして設定しておく必要があります。さらに、AWSクレデンシャル（ユーザーの認証情報）を設定する必要があります。設定の際は、<a href="https://laboratory.kazuuu.net/using-amazon-sqs-with-boto3-in-python-to-create-a-queue">こちらが参考になるかと思います。</a></p>
<p>また、NodeとNPMをインストールする必要があります。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-10" checked><label class="toc-title" for="toc-checkbox-10">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■PC環境</a></li><li><a href="#toc2" tabindex="0">■プロジェクトディレクトリを作成する</a></li><li><a href="#toc3" tabindex="0">■Pythonベースのサーバーレステンプレートを作成する</a><ol><li><a href="#toc4" tabindex="0">■コード</a></li></ol></li><li><a href="#toc5" tabindex="0">■基本的なサービスをAWSにデプロイする</a><ol><li><a href="#toc6" tabindex="0">■コード</a></li></ol></li><li><a href="#toc7" tabindex="0">■Python関数を呼び出す</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■PC環境</span></h2>
<p>&gt;Windows 10</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-12528" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-300x282.png" alt="" width="300" height="282" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-300x282.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-1024x963.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-768x723.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&gt;npm &#8211;version<br />
8.3.1</p>
<p>&gt;node &#8211;version<br />
v16.14.0</p>
<p>&gt;nodeserverless &#8211;version</p>
<p>Framework Core: 3.19.0<br />
Plugin: 6.2.2<br />
SDK: 4.3.2</p>
<p>&gt;aws &#8211;version<br />
aws-cli/2.5.6 Python/3.9.11 Windows/10 exe/AMD64 prompt/off</p>
<h2><span id="toc2">■プロジェクトディレクトリを作成する</span></h2>
<p>今回は、まずはディレクトリを作成します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-08-121214-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-12534" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-08-121214-1-300x194.png" alt="" width="300" height="194" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-08-121214-1-300x194.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-08-121214-1-1024x661.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-08-121214-1-768x496.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-08-121214-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>今回は「C:\Users\user_（フォルダパス）」内に「project_test」というディレクトリを作成しました。</p>
<h2><span id="toc3">■Pythonベースのサーバーレステンプレートを作成する</span></h2>
<p>作成後、Windows10のコマンドプロンプトを起動します。</p>
<pre>C:\Users\user_&gt;cd project_test</pre>
<p>起動後、上記のコマンドを入力し、Enterキーを入力します。cdコマンドで作成した「project_test」ディレクトリに移動します。</p>
<pre>C:\Users\user_\project_test&gt; serverless create --template aws-python --path project_test</pre>
<p>移動後、上記のコマンドを入力し、Enterキーを入力します。&#8211;templateコマンドでaws-pythonというPythonベースのサーバーレステンプレートを作成します。&#8211;pathコマンドでサーバーレステンプレートが置かれるディレクトリ「project_test」を新しく作成するために指定します。</p>
<p>Enterキーを押すと「Setting up a new project」と出力され、新しいプロジェクトの設定が開始されます。しばらくすると「Project successfully created in &#8220;project_test&#8221; from &#8220;aws-python&#8221; template」と出力され、プロジェクトの作成が完了します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-08-122329-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-12535" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-08-122329-1-300x145.png" alt="" width="300" height="145" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-08-122329-1-300x145.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-08-122329-1-1024x496.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-08-122329-1-768x372.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-08-122329-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>完了後、「C:\Users\user_\project_test（フォルダパス）」を確認すると、Serverless Frameworkを用いて作成された「project_test」ディレクトリが確認できました。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-08-122610-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-12536" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-08-122610-1-300x156.png" alt="" width="300" height="156" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-08-122610-1-300x156.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-08-122610-1-1024x531.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-08-122610-1-768x398.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-08-122610-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>確認後、この「project_test」ディレクトリ内を確認してみます。確認すると、「.gitignore」、「handler.py」、「serverless.yml」という3つのファイルが生成されていることが確認できました。handler.pyは、ラムダにデプロイされるPythonコードが含まれており、serverless.ymlは、与えられたラムダ関数にどのように、どんなイベントを関連付けるかをServerless Frameworkに伝える設定が含まれています。</p>
<p>なお、handler.pyはどのようなコードが含まれているのかについては下記になります。</p>
<h3><span id="toc4">■コード</span></h3>
<pre>import json


def hello(event, context):
    body = {
        "message": "Go Serverless v1.0! Your function executed successfully!",
        "input": event
    }

    response = {
        "statusCode": 200,
        "body": json.dumps(body)
    }

    return response

    # Use this code if you don't use the http event with the LAMBDA-PROXY
    # integration
    """
    return {
        "message": "Go Serverless v1.0! Your function executed successfully!",
        "event": event
    }
    """
</pre>
<p>def文を用いてhelloという関数が定義されており、関数を呼び出した時に、bodyのmessageなどがreturnとして返されるものになっています。</p>
<h2><span id="toc5">■基本的なサービスをAWSにデプロイする</span></h2>
<p>「project_test」ディレクトリ内を確認後、基本的なサービスをAWSにデプロイします。</p>
<pre>C:\Users\user_\project_test&gt;cd project_test</pre>
<p>Windows10のコマンドプロンプト上で、「C:\Users\user_\project_test（フォルダパス）」から、さらに「project_test」ディレクトリ内に移動するために、上記のコマンドを入力し、Enterキーを押します。</p>
<pre>C:\Users\user_\project_test&gt;serverless deploy</pre>
<p>移動後、上記のコマンドを入力し、Enterキーを入力します。deployコマンドでAWSにデプロイします。</p>
<pre>Warning: Invalid configuration encountered
  at 'provider.runtime': must be equal to one of the allowed values [dotnet6, dotnetcore3.1, go1.x, java11, java8, java8.al2, nodejs12.x, nodejs14.x, nodejs16.x, provided, provided.al2, python3.6, python3.7, python3.8, python3.9, ruby2.7]

Learn more about configuration validation here: http://slss.io/configuration-validation

Deploying project-test to stage dev (us-east-1)

× Stack project-test-dev failed to deploy (98s)
Environment: win32, node 16.14.0, framework 3.19.0, plugin 6.2.2, SDK 4.3.2
Credentials: Local, "default" profile
Docs:        docs.serverless.com
Support:     forum.serverless.com
Bugs:        github.com/serverless/serverless/issues

Error:
CREATE_FAILED: HelloLambdaFunction (AWS::Lambda::Function)
Resource handler returned message: "The runtime parameter of python2.7 is no longer supported for creating or updating AWS Lambda functions. We recommend you use the new runtime (python3.9) while creating or updating functions. (Service: Lambda, Status Code: 400, Request ID: f14c699d-c997-4179-9490-398d81f85285)" (RequestToken: e6ffe68e-e871-9b88-1b2b-35bb91d196a5, HandlerErrorCode: InvalidRequest)

View the full error: https://us-east-1.console.aws.amazon.com/cloudformation/home?region=us-east-1#/stack/detail?stackId=arn%3Aaws%3Acloudformation%3Aus-east-1%*********

1 deprecation found: run 'serverless doctor' for more details</pre>
<p>Enterキーを押すと、デプロイが開始されましたが、上記のエラーが出力されました。出力された内容を確認し、問題を解決してみます。</p>
<p>Serverless Frameworkを用いて作成された「project_test」ディレクトリ内に「serverless.yml」が存在しますので、こちらをコードエディタなどで開きます。</p>
<h3><span id="toc6">■コード</span></h3>
<pre>provider:
  name: aws
  runtime: python2.7</pre>
<p>開くと、上記のコードが存在しますので「runtime: python2.7」から「runtime: python3.9」にコードを変更しファイルを保存します。</p>
<pre>C:\Users\user_\project_test&gt;serverless deploy</pre>
<p>保存後、再度上記のコマンドを入力し、Enterキーを入力します。deployコマンドでAWSにデプロイします。</p>
<pre>✔ Service deployed to stack project-test-dev (71s)

functions:
  hello: project-test-dev-hello (389 B)

Toggle on monitoring with the Serverless Dashboard: run "serverless"

</pre>
<p>Enterキーを押すと、「Service deployed to stack project-test-dev」と出力されました。先程のようなエラーは出力されず、デプロイが完了となりました。</p>
<h2><span id="toc7">■Python関数を呼び出す</span></h2>
<p>完了後、Python関数を呼び出してみます。</p>
<pre>C:\Users\user_\project_test\project_test&gt;serverless invoke -f hello -l</pre>
<p>Windows10のコマンドプロンプト上で、上記のコマンドを入力し、Enterキーを押します。「invoke -f」コマンドで呼び出す関数を指定します。今回はhandler.py内のhello関数を指定します。</p>
<pre>{
"statusCode": 200,
"body": "{\"message\": \"Go Serverless v1.0! Your function executed successfully!\", \"input\": {}}"
}
--------------------------------------------------------------------
START
END RequestId: *****-****-***-***-*****
END Duration: 0.92 ms Memory Used: 36 MB

Toggle on monitoring with the Serverless Dashboard: run "serverless"

</pre>
<p>Enterキーを押すと、デプロイした関数を呼び出し、returnを出力させることができました。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-08-130347.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-12538" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-08-130347-300x135.png" alt="" width="300" height="135" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-08-130347-300x135.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-08-130347-1024x462.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-08-130347-768x347.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-08-130347.png 1300w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>なお、「AWS マネジメントコンソール」にログインし、サービスから「Lambda」を選択すると、今回AWSにデプロイした「project-test-dev-hello」という関数が確認できました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/create-templates-and-call-python-functions-using-serverless-framework/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Serverless Frameworkをインストールする（Windows10）</title>
		<link>https://laboratory.kazuuu.net/install-serverless-framework-windows10/</link>
					<comments>https://laboratory.kazuuu.net/install-serverless-framework-windows10/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Thu, 20 Oct 2022 20:41:16 +0000</pubDate>
				<category><![CDATA[Node.js]]></category>
		<category><![CDATA[Serverless Framework]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=12527</guid>

					<description><![CDATA[Serverless Frameworkのインストールについて解説しています。 Serverless Frameworkは、Node.jsを使用して作成された無料のオープンソースWebフレームワークとなり、Amazonが [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Serverless Frameworkのインストールについて解説しています。</p>
<p>Serverless Frameworkは、Node.jsを使用して作成された無料のオープンソースWebフレームワークとなり、AmazonがAmazon Web Servicesの一部として提供するサーバーレスコンピューティングプラットフォーム「AWS Lambda」上でアプリケーションを構築するために開発されたフレームワークでもあります。</p>
<p>なお、NPMモジュールであるため、 NodeとNPMをインストールする必要があります。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-12" checked><label class="toc-title" for="toc-checkbox-12">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■PC環境</a></li><li><a href="#toc2" tabindex="0">■ServerlessFrameworkのインストール</a></li><li><a href="#toc3" tabindex="0">■ServerlessFrameworkのバージョン確認</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■PC環境</span></h2>
<p>&gt;Windows 10</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-12528" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-300x282.png" alt="" width="300" height="282" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-300x282.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-1024x963.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-768x723.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&gt;npm &#8211;version<br />
8.3.1</p>
<p>&gt;node &#8211;version<br />
v16.14.0</p>
<h2><span id="toc2">■ServerlessFrameworkのインストール</span></h2>
<p>それでは、ServerlessFrameworkのインストールを行っていきますので、Windows10のコマンドプロンプトを起動します。</p>
<pre>C:\Users\user_&gt;npm install -g serverless</pre>
<p>起動後、上記のコマンドを入力し、Enterキーを押します。</p>
<pre>npm WARN deprecated formidable@1.2.6: Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
npm WARN deprecated querystring@0.2.1: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated superagent@3.8.3: Please upgrade to v7.0.2+ of superagent.  We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing.  See the releases tab for more information at &lt;https://github.com/visionmedia/superagent/releases&gt;.

added 391 packages, and audited 392 packages in 37s

53 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
npm notice
npm notice New minor version of npm available! 8.3.1 -&gt; 8.12.1
npm notice Changelog: https://github.com/npm/cli/releases/tag/v8.12.1
npm notice Run npm install -g npm@8.12.1 to update!
npm notice</pre>
<p>Enterキーを押すと、インストールが開始されます。その後、インストールが完了となります。</p>
<h2><span id="toc3">■ServerlessFrameworkのバージョン確認</span></h2>
<p>完了後、バージョンを確認してみます。</p>
<pre>C:\Users\user_&gt;serverless --version</pre>
<p>確認するために、上記のコマンドを入力し、Enterキーを押します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07_2-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-12529" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07_2-1-300x204.png" alt="" width="300" height="204" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07_2-1-300x204.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07_2-1-1024x696.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07_2-1-768x522.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07_2-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<pre>Framework Core: 3.19.0
Plugin: 6.2.2
SDK: 4.3.2
</pre>
<p>Enterキーを押すと、バージョンが出力されました。これでインストールがされていることが確認できました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/install-serverless-framework-windows10/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Node.js/JavaScriptとPuppeteerを使ってAmazon（アマゾン）をスクレイピングする</title>
		<link>https://laboratory.kazuuu.net/scraping-amazon-with-node-js-and-puppeteer/</link>
					<comments>https://laboratory.kazuuu.net/scraping-amazon-with-node-js-and-puppeteer/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Thu, 29 Apr 2021 06:14:44 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Node.js]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=7987</guid>

					<description><![CDATA[Node.js/JavaScriptとPuppeteerを使用し、Amazon（アマゾン）をスクレイピングすることについて解説しています。 なお、JavaScriptの実行にはNode.jsとnpm（Node Packa [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Node.js/JavaScriptとPuppeteerを使用し、Amazon（アマゾン）をスクレイピングすることについて解説しています。</p>
<p>なお、JavaScriptの実行にはNode.jsとnpm（Node Package Manager）を使用するので、コンピュータにNode.jsとnpmがインストールされている必要があります。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-14" checked><label class="toc-title" for="toc-checkbox-14">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■PC環境</a></li><li><a href="#toc2" tabindex="0">■空のディレクトリを用意する</a></li><li><a href="#toc3" tabindex="0">■package.json（初期値）を作成する</a></li><li><a href="#toc4" tabindex="0">■Puppeteerのインストール</a></li><li><a href="#toc5" tabindex="0">■スクリプトを作成する</a><ol><li><a href="#toc6" tabindex="0">■コード（scrapers.js）</a></li><li><a href="#toc7" tabindex="0">■ページ内の特定要素（Xpath）を取得する場合</a></li></ol></li><li><a href="#toc8" tabindex="0">■実行</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■PC環境</span></h2>
<p>・Windows10、Administrator（管理者）アカウント</p>
<p>・node &#8211;version v14.15.0</p>
<p>・npm &#8211;version 6.14.8</p>
<h2><span id="toc2">■空のディレクトリを用意する</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-140359-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7989" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-140359-1-300x182.png" alt="" width="300" height="182" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-140359-1-300x182.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-140359-1-1024x623.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-140359-1-768x467.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-140359-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>まずはWindows10上に空のディレクトリを用意します。今回は「C:\Users\Administrator（フォルダパス）」に「web_scraping」というディレクトリを用意しました。</p>
<h2><span id="toc3">■package.json（初期値）を作成する</span></h2>
<p>用意したあとに、Windows10の検索ボックスで「cmd」と入力し、コマンドプロンプトをクリックします。クリックすると、コマンドプロンプトが起動します。</p>
<pre>C:\Users\Administrator&gt;cd web_scraping</pre>
<p>上記のコマンドを入力し、Enterキーを押します。cdコマンドでディレクトリに移動します。</p>
<pre>C:\Users\Administrator\web_scraping&gt;npm init -y</pre>
<p>移動後、上記のコマンドを入力し、Enterキーを押します。package.json（初期値）を作成します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-141412.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7990" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-141412-300x162.png" alt="" width="300" height="162" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-141412-300x162.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-141412.png 568w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Enterキーを押すと、package.jsonが作成され、package.jsonの中身が出力されます。</p>
<h2><span id="toc4">■Puppeteerのインストール</span></h2>
<pre>C:\Users\Administrator\web_scraping&gt;npm install puppeteer</pre>
<p>出力後、上記のコマンドを入力し、Enterキーを押します。</p>
<pre>&gt; puppeteer@9.0.0 install C:\Users\Administrator\web_scraping\node_modules\puppeteer
&gt; node install.js

Downloading Chromium r869685 - 166.1 Mb [====================] 100% 0.0s
Chromium (869685) downloaded to C:\Users\Administrator\web_scraping\node_modules\puppeteer\.local-chromium\win64-869685
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN web_scraping@1.0.0 No description
npm WARN web_scraping@1.0.0 No repository field.

+ puppeteer@9.0.0
added 54 packages from 72 contributors and audited 54 packages in 45.876s

8 packages are looking for funding
run `npm fund` for details

found 0 vulnerabilities</pre>
<p>Enterキーを押すと、インストールが開始され、完了となります。</p>
<h2><span id="toc5">■スクリプトを作成する</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-142134.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7991" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-142134-300x177.png" alt="" width="300" height="177" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-142134-300x177.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-142134-1024x603.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-142134-768x452.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-142134.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>完了後、スクリプトを作成するために、「C:\Users\Administrator（フォルダパス）」の「web_scraping」ディレクトリ内に「scrapers.js」というjsファイルを作成します。作成後、このファイルをコードエディタで開きます。</p>
<h3><span id="toc6">■コード（scrapers.js）</span></h3>
<pre>const puppeteer = require('puppeteer');

async function scrapeProduct(url){
    const browser = await puppeteer.launch();
    const page = await browser.newPage();
    await page.goto(url);

    const [el] = await page.$x('//*[@id="productTitle"]');
    const txt = await el.getProperty('textContent');
    const rawTxt = await txt.jsonValue();

    console.log({rawTxt});

    browser.close();
}

scrapeProduct('https://www.amazon.co.jp/商品詳細ページ');</pre>
<p>Webブラウザでアマゾン（https://www.amazon.co.jp/）の商品詳細ページにアクセスし、ページ内の要素を取得し、コンソールに要素内のテキストを出力します。今回は商品のタイトルを取得して出力してみます。</p>
<h3><span id="toc7">■ページ内の特定要素（Xpath）を取得する場合</span></h3>
<p>アマゾン（https://www.amazon.co.jp/）のページ内の特定要素（Xpath）を取得する場合は、GoogleChrome上で取得した要素にマウスを移動し選択します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-150016.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7994" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-150016-300x138.png" alt="" width="300" height="138" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-150016-300x138.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-150016-1024x470.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-150016-768x352.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-150016.png 1164w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>選択後、右クリックします。クリックすると、メニューが表示されますので、この中から「検証」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-145357-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7998" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-145357-1-300x158.png" alt="" width="300" height="158" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-145357-1-300x158.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-145357-1-1024x540.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-145357-1-768x405.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-145357-1.png 1366w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、右側にWebページのソースが表示され、選択した部分が水色に表示されます。この状態で右クリックします。すると、メニューが表示され「Copy」をクリックします。さらにメニューが表示されますので「Copy Xpath」をクリックします。</p>
<p>クリックすると、特定要素（Xpath）がコピーされますので、あとはコードエディタへ追加します。</p>
<h2><span id="toc8">■実行</span></h2>
<p>スクリプトが完成した後は、実際にAmazon（アマゾン）をスクレイピングできるのか検証のため、実行させてみます。今回は、コマンドプロンプトから実行してみます。</p>
<pre>C:\Users\Administrator\web_scraping&gt;node scrapers.js</pre>
<p>実行する際は、上記のコマンドを入力し、Enterキーを押します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-150928.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7996" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-150928-300x205.png" alt="" width="300" height="205" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-150928-300x205.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-150928-1024x699.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-150928-768x524.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-150928.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Enterキーを押すと、ブラウザが自動的に起動し、今回指定したアマゾン（https://www.amazon.co.jp/）の商品詳細ページにアクセスし、ページ内の特定要素を取得し、出力させることができました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/scraping-amazon-with-node-js-and-puppeteer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Node.jsとPuppeteerを使ってWebサイトをスクレイピングする</title>
		<link>https://laboratory.kazuuu.net/scraping-a-website-using-node-js-and-puppeteer/</link>
					<comments>https://laboratory.kazuuu.net/scraping-a-website-using-node-js-and-puppeteer/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Thu, 08 Apr 2021 02:05:58 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Node.js]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=7431</guid>

					<description><![CDATA[Node.jsとPuppeteerを使ってWebサイトをスクレイピングしてみます。 なお、JavaScriptの実行にはNode.jsとnpm（Node Package Manager）を使用するので、コンピュータにNo [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Node.jsとPuppeteerを使ってWebサイトをスクレイピングしてみます。</p>
<p>なお、JavaScriptの実行にはNode.jsとnpm（Node Package Manager）を使用するので、コンピュータにNode.jsとnpmがインストールされている必要があります。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-16" checked><label class="toc-title" for="toc-checkbox-16">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■PC環境</a></li><li><a href="#toc2" tabindex="0">■Web Scraperの設定</a><ol><li><a href="#toc3" tabindex="0">■コード</a></li></ol></li><li><a href="#toc4" tabindex="0">■jsファイルの作成</a><ol><li><a href="#toc5" tabindex="0">■browser.js</a></li><li><a href="#toc6" tabindex="0">■index.js</a></li><li><a href="#toc7" tabindex="0">■pageController.js</a></li><li><a href="#toc8" tabindex="0">■pageScraper.js</a></li><li><a href="#toc9" tabindex="0">■今回のプログラムのファイル構造</a></li></ol></li><li><a href="#toc10" tabindex="0">■Web scraperアプリケーションの実行</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■PC環境</span></h2>
<p>・Windows10、Administrator（管理者）アカウント</p>
<p>・node &#8211;version v14.15.0</p>
<p>・npm &#8211;version 6.14.8</p>
<h2><span id="toc2">■Web Scraperの設定</span></h2>
<p>Web Scraperの設定のために、プロジェクト用のフォルダを作成しますので、Windows10の検索ボックスで「cmd」と入力し、コマンドプロンプトをクリックします。クリックすると、コマンドプロンプトが起動します。</p>
<pre>C:\Users\Administrator&gt;mkdir web-scraper</pre>
<p>起動後、上記のコマンドを入力し、今回は「web-scraper」というフォルダを作成します。作成のために、エンターキーを押します。</p>
<pre>C:\Users\Administrator&gt;cd web-scraper</pre>
<p>押した後に、上記のコマンドを入力し、「web-scraper」というフォルダ内に移動します。移動のためにエンターキーを押します。</p>
<p>押した後に、npm（node package manager）を使用し、パッケージをインストールします。その前に、プロジェクトの依存関係やメタデータを管理するpackages.jsonファイルを作成するために、npmを初期化します。</p>
<pre>C:\Users\Administrator\web-scraper&gt;npm init</pre>
<p>初期化のために、上記のコマンドを入力し、エンターキーを押します。</p>
<pre>This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help init` for definitive documentation on these fields
and exactly what they do.

Use `npm install ` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (web-scraper)</pre>
<p>エンターキーを押すと、上記のメッセージが表示されます。「package name: (web-scraper)」と表示されていますので、フォルダの名前である「web-scraper」と入力します。その後、エンターキーを押します。</p>
<pre>version: (1.0.0)</pre>
<p>エンターキーを押すと、バージョンが表示されていますので、エンターキーを押します。今回は1.0.0をインストールします。</p>
<pre>description:</pre>
<p>エンターキーを押すと、「description:（説明）」と表示されますので、今回は「a web scraper」を入力し、エンターキーを押します。</p>
<pre>entry point: (index.js)</pre>
<p>エンターキーを押すと、「entry point: (index.js)」と表示されていますので、エンターキーを押します。</p>
<pre>test command:</pre>
<p>エンターキーを押すと、「test command:」と表示されていますので、エンターキーを押します。</p>
<pre>git repository:</pre>
<p>エンターキーを押すと、「git repository:」と表示されていますので、エンターキーを押します。</p>
<pre>keywords:</pre>
<p>エンターキーを押すと、「keywords:」と表示されていますので、エンターキーを押します。</p>
<pre>author:</pre>
<p>エンターキーを押すと、「author:」と表示されていますので、エンターキーを押します。</p>
<pre>license: (ISC)</pre>
<p>エンターキーを押すと、「license: (ISC)」と表示されていますので、エンターキーを押します。</p>
<pre>{
  "name": "web-scraper",
  "version": "1.0.0",
  "description": "a web scraper",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" &amp;&amp; exit 1"
  },
  "author": "",
  "license": "ISC"
}


Is this OK? (yes)</pre>
<p>エンターキーを押すと、作成したpackages.jsonファイルの内容が表示されていますので、確認し、「y」と入力し、エンターキーを押します。</p>
<pre>C:\Users\Administrator\web-scraper&gt;npm install --save puppeteer</pre>
<p>エンターキーを押した後に、npmを使用し、Puppeteerをインストールしますので、上記のコマンドを入力し、エンターキーを押します。</p>
<pre>&gt; puppeteer@8.0.0 install C:\Users\Administrator\web-scraper\node_modules\puppeteer
&gt; node install.js

Downloading Chromium r856583 - 164.6 Mb [====================] 100% 0.0s
Chromium (856583) downloaded to C:\Users\Administrator\web-scraper\node_modules\puppeteer\.local-chromium\win64-856583
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN web-scraper@1.0.0 No repository field.

+ puppeteer@8.0.0
added 54 packages from 73 contributors and audited 54 packages in 92.698s

8 packages are looking for funding
run `npm fund` for details

found 0 vulnerabilities</pre>
<p>エンターキーを押すと、ダウンロードが開始され、インストールが始まります。しばらくすると、インストールが完了します。</p>
<p>インストール後、「C:\Users\Administrator\（フォルダパス）」の「web-scraper」のフォルダにあるpackage.jsonのファイルをコードエディタを開き、編集します。</p>
<h3><span id="toc3">■コード</span></h3>
<pre>{
  "name": "web-scraper",
  "version": "1.0.0",
  "description": "a web scraper",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" &amp;&amp; exit 1",
    "start": "node index.js"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "puppeteer": "^8.0.0"
  }
}</pre>
<p>package.jsonのファイルの「&#8221;scripts&#8221;」の部分に「&#8221;start&#8221;: &#8220;node index.js&#8221;」と記述します。記述後、保存します。</p>
<pre>npm ERR! missing script: start

npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\Administrator\AppData\Roaming\npm-cache\_logs\2021-04-08T01_28_15_781Z-debug.log</pre>
<p>なお、この記述がない場合は、アプリケーションを実行した際に上記のエラーが発生します。</p>
<h2><span id="toc4">■jsファイルの作成</span></h2>
<p>保存後、web scraperには、browser.js、index,js、pageController.js、pageScraper.jsという4つのjsファイルが必要ですので、「C:\Users\Administrator\（フォルダパス）」の「web-scraper」のフォルダ内に作成します。これを作成することで、web scraperのブラウザインスタンスを設定し、起動すると、自動的にChromiumを開き、Webスクレイピングできるようになります。</p>
<p>コードエディタを開き、下記のコードを記述し、jsファイルを作成していきます。作成後、ファイルを保存します。</p>
<h3><span id="toc5">■browser.js</span></h3>
<pre>const puppeteer = require('puppeteer');

async function startBrowser(){
    let browser;
    try {
        console.log("Opening the browser......");
        browser = await puppeteer.launch({
            headless: false,
            args: ["--disable-setuid-sandbox"],
            'ignoreHTTPSErrors': true
        });
    } catch (err) {
        console.log("Could not create a browser instance =&gt; : ", err);
    }
    return browser;
}

module.exports = {
    startBrowser
};</pre>
<h3><span id="toc6">■index.js</span></h3>
<pre>const browserObject = require('./browser');
const scraperController = require('./pageController');

//ブラウザを起動しブラウザインスタンスを作成
let browserInstance = browserObject.startBrowser();

// ブラウザのインスタンスをスクレーパーコントローラーに渡す
scraperController(browserInstance)</pre>
<h3><span id="toc7">■pageController.js</span></h3>
<pre>const pageScraper = require('./pageScraper');
async function scrapeAll(browserInstance){
    let browser;
    try{
        browser = await browserInstance;
        await pageScraper.scraper(browser);

    }
    catch(err){
        console.log("Could not resolve the browser instance =&gt; ", err);
    }
}

module.exports = (browserInstance) =&gt; scrapeAll(browserInstance)</pre>
<h3><span id="toc8">■pageScraper.js</span></h3>
<pre>const scraperObject = {
    url: 'https://www.yahoo.co.jp/',
    async scraper(browser){
        let page = await browser.newPage();
        console.log(`Navigating to ${this.url}...`);
        await page.goto(this.url);

    }
}

module.exports = scraperObject;</pre>
<p>なお、今回は自動でChromiumを開き、Webサイトへアクセスしますが、pageScraper.jsのファイルで「url: &#8216;https://www.yahoo.co.jp/&#8217;」と指定して、Yahoo!Japanへアクセスしてみます。</p>
<h3><span id="toc9">■今回のプログラムのファイル構造</span></h3>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-104239.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7434" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-104239-300x158.png" alt="" width="300" height="158" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-104239-300x158.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-104239-1024x538.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-104239-768x404.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-104239.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<h2><span id="toc10">■Web scraperアプリケーションの実行</span></h2>
<p>すべてのjsファイルの作成が完了後、Web scraperアプリケーションを実行してみます。</p>
<p>実行する場合は、Windows10の検索ボックスで「cmd」と入力し、コマンドプロンプトをクリックします。クリックすると、コマンドプロンプトが起動します。</p>
<pre>C:\Users\Administrator\web-scraper&gt;npm run start</pre>
<p>起動後、上記のコマンドを入力し、アプリケーションを実行します。実行のため、エンターキーを押します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-105445.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7436" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-105445-300x167.png" alt="" width="300" height="167" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-105445-300x167.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-105445-1024x570.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-105445-768x428.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-105445-120x68.png 120w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-105445-160x90.png 160w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-105445.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<pre>&gt; web-scraper@1.0.0 start C:\Users\Administrator\web-scraper
&gt; node index.js

Opening the browser......
Navigating to https://www.yahoo.co.jp/...</pre>
<p>エンターキーを押すと、上記のメッセージが表示され、自動でChromiumを開きます。Chromiumには「Chromeは自動テストソフトウェアによって制御されています。」と表示されています。表示された状態で今回指定したYahoo!Japan（https://www.yahoo.co.jp/）にアクセスし、サイトが表示されることを確認できました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/scraping-a-website-using-node-js-and-puppeteer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>JavaScript / Node.jsでWebクローラーの作成とWebスクレイピング</title>
		<link>https://laboratory.kazuuu.net/creating-a-web-crawler-with-javascript-node-js/</link>
					<comments>https://laboratory.kazuuu.net/creating-a-web-crawler-with-javascript-node-js/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Wed, 07 Apr 2021 01:06:32 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Node.js]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=7409</guid>

					<description><![CDATA[JavaScript / Node.jsでWebクローラーを作り、Webスクレイピングを行ってみます。 なお、JavaScriptの実行にはNode.jsとnpm（Node Package Manager）を使用するので [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>JavaScript / Node.jsでWebクローラーを作り、Webスクレイピングを行ってみます。</p>
<p>なお、JavaScriptの実行にはNode.jsとnpm（Node Package Manager）を使用するので、コンピュータにNode.jsとnpmがインストールされている必要があります。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-18" checked><label class="toc-title" for="toc-checkbox-18">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■PC環境</a></li><li><a href="#toc2" tabindex="0">■新規フォルダの作成と、crawler.jsという空のファイルを作成する</a><ol><li><a href="#toc3" tabindex="0">■コード</a></li></ol></li><li><a href="#toc4" tabindex="0">■npmを使用し、ライブラリをインストールする</a><ol><li><a href="#toc5" tabindex="0">■コード</a></li></ol></li><li><a href="#toc6" tabindex="0">■JavaScriptでのWebページの取得と解析</a><ol><li><a href="#toc7" tabindex="0">■コード</a></li></ol></li><li><a href="#toc8" tabindex="0">■実行</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■PC環境</span></h2>
<p>・Windows10、Administrator（管理者）アカウント</p>
<p>・node &#8211;version v14.15.0</p>
<p>・npm &#8211;version 6.14.8</p>
<h2><span id="toc2">■新規フォルダの作成と、crawler.jsという空のファイルを作成する</span></h2>
<p>まずは、新規フォルダの作成と、crawler.jsという空のファイルを作成します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-085426.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7413" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-085426-300x241.png" alt="" width="300" height="241" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-085426-300x241.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-085426-1024x823.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-085426-768x617.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-085426.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>今回は「C:\Users\Administrator（フォルダパス）」という場所に、「simple-web-crawler」という名前のフォルダを作成します。</p>
<h3><span id="toc3">■コード</span></h3>
<pre>var request = require('request');
var cheerio = require('cheerio');
var URL = require('url-parse');</pre>
<p>作成後、コードエディタを開き、上記のコードを記述します。</p>
<p>なお、今回は、下記の3つのライブラリを使用します。</p>
<p>・Request（HTTPリクエストを行う）</p>
<p>・Cheerio（ページ上のHTML要素を解析して選択する）</p>
<p>・URL-parse（URLを解析する）</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-085945.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7414" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-085945-300x203.png" alt="" width="300" height="203" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-085945-300x203.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-085945-1024x692.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-085945-768x519.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-085945.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>記述後、ファイルを保存します。保存する際に、「crawler.js」という名前でファイルを保存します。保存する場所は、「C:\Users\Administrator」の「simple-web-crawler」というフォルダになります。</p>
<h2><span id="toc4">■npmを使用し、ライブラリをインストールする</span></h2>
<p>保存後、npmを使用し、ライブラリをインストールしますが、その前にpackage.jsonというファイルを作成し、今回のプロジェクトの説明と依存関係を指定します。</p>
<h3><span id="toc5">■コード</span></h3>
<pre>{
  "name": "simple-webcrawler-javascript",
  "version": "0.0.0",
  "description": "A simple webcrawler written in JavaScript",
  "main": "crawler.js",
  "author": "Stephen",
  "license": "ISC",
  "dependencies": {
    "cheerio": "^0.19.0",
    "url-parse": "^1.0.5",
    "request": "^2.65.0"
  }
}</pre>
<p>そのために、コードエディタを開き、上記のコードを記述します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-091012.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7415" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-091012-300x202.png" alt="" width="300" height="202" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-091012-300x202.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-091012-1024x688.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-091012-768x516.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-091012.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>記述後、ファイルを保存します。保存する際に、「package.json」という名前でファイルを保存します。保存する場所は、「C:\Users\Administrator」の「simple-web-crawler」というフォルダになります。</p>
<p>保存後、Windows10の検索ボックスで「cmd」と入力し、コマンドプロンプトをクリックします。クリックすると、コマンドプロンプトが起動します。</p>
<pre>C:\Users\Administrator&gt;cd simple-web-crawler</pre>
<p>起動後、上記のコマンドを入力し、「C:\Users\Administrator」の「simple-web-crawler」というフォルダに移動するために、エンターキーを押します。</p>
<pre>C:\Users\Administrator\simple-web-crawler&gt;npm install</pre>
<pre>npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN simple-webcrawler-javascript@0.0.0 No repository field.

added 68 packages from 68 contributors and audited 68 packages in 4.328s

2 packages are looking for funding
  run `npm fund` for details

found 4 vulnerabilities (2 low, 2 high)
  run `npm audit fix` to fix them, or `npm audit` for details</pre>
<p>エンターキーを押すと、ライブラリのインストールが開始され、上記のようなメッセージが表示されます。今回はライブラリが古いので、脆弱性が見つかりましたなどの表示がありますが、テストで動作確認を行うため、脆弱性が見つかりましたなどは、いったん無視し進めます。</p>
<h2><span id="toc6">■JavaScriptでのWebページの取得と解析</span></h2>
<p>ライブラリをインストール後、JavaScriptでのWebページの取得と解析を行います。行う場合は、コードエディタで「C:\Users\Administrator」の「simple-web-crawler」というフォルダの「crawler.js」を開き、Webページの取得と解析を行うコードを記述します。</p>
<h3><span id="toc7">■コード</span></h3>
<pre>var request = require('request'); 
var cheerio = require('cheerio'); 
var URL = require('url-parse');

var pageToVisit = "https://www.yahoo.co.jp/";
console.log("閲覧ページ: " + pageToVisit);
request(pageToVisit, function(error, response, body) {
   if(error) {
     console.log("Error: " + error);
   }
   // ステータスコードの確認 (200はHTTP OK)
   console.log("ステータスコード: " + response.statusCode);
   if(response.statusCode === 200) {
     // ソース内のdocumentのbodyを解析
     var $ = cheerio.load(body);
     console.log("ページタイトル:  " + $('title').text());
   }
});</pre>
<p>記述するコードは上記になります。今回はYahoo！Japan（https://www.yahoo.co.jp/）のページの取得と解析を行ってみます。</p>
<p>記述後、このコードを「crawler.js」に上書き保存します。</p>
<h2><span id="toc8">■実行</span></h2>
<p>保存後、JavaScriptでのWebページの取得と解析を行うため、スクリプトを実行してみます。</p>
<p>実行する際は、Windows10の検索ボックスで「cmd」と入力し、コマンドプロンプトをクリックします。クリックすると、コマンドプロンプトが起動します。</p>
<pre>C:\Users\Administrator&gt;cd simple-web-crawler</pre>
<p>起動後、上記のコマンドを入力し、「C:\Users\Administrator」の「simple-web-crawler」というフォルダに移動するために、エンターキーを押します。</p>
<pre>C:\Users\Administrator\simple-web-crawler&gt;node crawler.js</pre>
<p>押した後、上記のコマンドを入力し、エンターキーを押します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-094357.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7421" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-094357-300x133.png" alt="" width="300" height="133" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-094357-300x133.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-094357-1024x454.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-094357-768x340.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-094357.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>エンターキーを押すと、今回指定したYahoo！Japan（https://www.yahoo.co.jp/）をWebクローラーが収集（クローリング）を行い、「ステータスコード:200（リクエストが成功）」となり、「ページタイトル」を取得することができました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/creating-a-web-crawler-with-javascript-node-js/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Node.jsをダウンロードする（Windows10）</title>
		<link>https://laboratory.kazuuu.net/download-node-js-12-19-0-windows10/</link>
					<comments>https://laboratory.kazuuu.net/download-node-js-12-19-0-windows10/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Fri, 09 Oct 2020 06:03:44 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Node.js]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=3408</guid>

					<description><![CDATA[Node.jsをダウンロードする（Windows10）。今回はバージョン12.18.4 LTSをダウンロードからインストールまでを行います。 目次 ■PC環境■ダウンロード■インストール ■PC環境 Windows10  [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Node.jsをダウンロードする（Windows10）。今回はバージョン12.18.4 LTSをダウンロードからインストールまでを行います。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-20" checked><label class="toc-title" for="toc-checkbox-20">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■PC環境</a></li><li><a href="#toc2" tabindex="0">■ダウンロード</a></li><li><a href="#toc3" tabindex="0">■インストール</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■PC環境</span></h2>
<p>Windows10 64ビット</p>
<h2><span id="toc2">■ダウンロード</span></h2>
<p>まず、Node.js（<a href="https://nodejs.org/ja/">https://nodejs.org/ja/</a>）のサイトにアクセスします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-130724.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3409" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-130724-300x125.png" alt="" width="300" height="125" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-130724-300x125.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-130724-768x320.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-130724.png 906w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>アクセスすると、「ダウンロード Windows(x64)」と書かれている項目があります。今回は「12.19.0 LTS」（推奨版）をインストールしますので、表示されているボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-130906.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3410" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-130906.png" alt="" width="132" height="112" /></a></p>
<p>クリックすると、ダウンロードが開始されます。開始後、Webブラウザで指定されている保存場所に「node-v12.19.0-x64.msi」というファイルがダウンロードされます。</p>
<h2><span id="toc3">■インストール</span></h2>
<p>「node-v12.19.0-x64.msi」というファイルがダウンロードされましたので、このファイルをダブルで起動させます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-131110.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3411" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-131110-300x236.png" alt="" width="300" height="236" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-131110-300x236.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-131110.png 495w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>起動させると、「Node.js Setup」というウインドウが表示されます。「Node.js Setup Wizard」というウィザードが開始されます。ウイザードを進めるために「Next」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-131344.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3413" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-131344-300x232.png" alt="" width="300" height="232" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-131344-300x232.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-131344.png 496w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「End User License Agreement（ソフトウェア利用許諾契約）」の画面が表示されます。こちらで使用許諾契約を読み、「I accept the terms in the License Agreement（使用許諾契約の条項に同意します）」のチェックボックスにチェックを入れます。入れた後、「Next」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-131927.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3415" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-131927-300x233.png" alt="" width="300" height="233" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-131927-300x233.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-131927.png 495w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Destination folder（移動先フォルダ）」の画面になります。こちらでは、インストールする場所を選択します。デフォルトでは「C:\Program Files\nodejs\」となっています。このままでも問題ありません。変更したい場合は「Change&#8230;」ボタンをクリックして変更します。</p>
<p>今回は、このままの状態で進めますので、「Next」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-132011.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3416" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-132011-300x234.png" alt="" width="300" height="234" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-132011-300x234.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-132011.png 494w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると「Custom Setup（カスタムセットアップ）」の画面になります。この画面では、機能をインストールする方法を選択します。選択・変更する場合は、下のツリーのアイコンをクリックして、機能を選択・変更します。</p>
<blockquote><p>・Node.js runtime<br />
・npm package manager<br />
・Online documentation shortcuts<br />
・Add to PATH</p></blockquote>
<p>機能は上記の中から選択・変更します。デフォルトでは「Node.js runtime」が選択されていますので、このままの状態でも問題はありませんので、「Next」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-141227.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3417" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-141227-300x234.png" alt="" width="300" height="234" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-141227-300x234.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-141227.png 494w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Tools for Native Modules（ネイティブ・モジュールのツール）」の画面になります。この画面では、必要に応じて、ネイティブモジュールのコンパイルに必要なツールをインストールするかどうかを確認します。</p>
<p>「Automatically install the necessary tools. Note that this will also install Chocolatey. The<br />
script will pop-up in a new window after the installation completes.（必要なツールを自動的にインストールします。これでChocolateyもインストールされることに注意してください。インストールが完了すると、新しいウィンドウにスクリプトがポップアップ表示されます。）」のチェックボックスにチェックを入れると、必要なツールが自動的にインストールされ、Windows のパッケージマネージャであるChocolateyも同時にインストールされます。</p>
<p>チェックボックスにチェックを入れない場合は、自分でインストールする必要があります。</p>
<p>今回はチェックボックスにチェックを入れずに、「Next」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-142129.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3418" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-142129-300x235.png" alt="" width="300" height="235" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-142129-300x235.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-142129.png 494w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると「Ready to install Node.js（Node.jsのインストール準備完了）」の画面になります。この画面で「Install」ボタンをクリックします。</p>
<p>クリックすると、インストールを開始します。</p>
<p>「ユーザーアカウント制御」というウインドウが表示され、「このアプリがデバイスに変更を加えることを許可しますか？」と質問されますので「はい」ボタンをクリックします。クリックすると、インストールが続行します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-142738.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3419" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-142738-300x233.png" alt="" width="300" height="233" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-142738-300x233.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-09-142738.png 494w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>インストールが進むと、「Completed the Node.js Setup Wizard（Node.jsセットアップウィザードは完了しました。）」と表示されますので、これでNode.jsのインストールは完了となります。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/download-node-js-12-19-0-windows10/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
