在AWS Linux上安装npm
由于之前只是随意地进行工作,所以我决定将其记录在备忘录中。
环境
亚马逊云服务的Linux操作系统
$ cat /etc/system-release
Amazon Linux AMI release 2018.03
安装总结
# リポジトリの取得
$ curl -sL https://rpm.nodesource.com/setup_8.x | sudo bash -
# nodejsのインストール
$ sudo yum install -y nodejs
# 確認
$ npm -v
任务日志
安装Node.js和npm
sudo yum install nodejs npm --enablerepo=epel
npm安装完成。不过,版本太旧了。
$ npm -v
1.3.6
所以,进行版本升级。
npm install -g npm
将-g选项设置为全球。
然而,发生了以下错误。
$ npm install -g npm
npm http GET https://registry.npmjs.org/npm
npm http GET https://registry.npmjs.org/npm
npm http GET https://registry.npmjs.org/npm
npm ERR! Error: UNABLE_TO_GET_ISSUER_CERT_LOCALLY
npm ERR! at SecurePair.<anonymous> (tls.js:1430:32)
npm ERR! at SecurePair.emit (events.js:92:17)
npm ERR! at SecurePair.maybeInitFinished (tls.js:1029:10)
npm ERR! at CleartextStream.read [as _read] (tls.js:521:13)
npm ERR! at CleartextStream.Readable.read (_stream_readable.js:341:10)
npm ERR! at EncryptedStream.write [as _write] (tls.js:418:25)
npm ERR! at doWrite (_stream_writable.js:226:10)
npm ERR! at writeOrBuffer (_stream_writable.js:216:5)
npm ERR! at EncryptedStream.Writable.write (_stream_writable.js:183:11)
npm ERR! at write (_stream_readable.js:602:24)
npm ERR! If you need help, you may report this log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <npm-@googlegroups.com>
npm ERR! System Linux 4.14.62-65.117.amzn1.x86_64
npm ERR! command "node" "/usr/bin/npm" "install" "-g" "npm"
npm ERR! cwd /home/ec2-user
npm ERR! node -v v0.10.48
npm ERR! npm -v 1.3.6
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/ec2-user/npm-debug.log
npm ERR! not ok code 0
使用SSL通信的问题似乎是已经启用并且正在发生。请使用下面的命令关闭。
(参考:https://stackoverflow.com/questions/45884752/npm-err-code-unable-to-get-issuer-cert-locally)
npm config set registry http://registry.npmjs.org/
# または、 npm config set strict-ssl false
之后,重新执行。
※请勿使用sudo来执行,否则会失败。
当我检查版本时,出现了下面的错误。
$ npm -v
/usr/lib/node_modules/npm/bin/npm-cli.js:84
let notifier = require('update-notifier')({pkg})
^^^^^^^^
SyntaxError: Unexpected identifier
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:945:3
从[参考链接](https://cpoint-lab.co.jp/article/201811/centos-7-%E3%81%A7epel%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%AEnpm%E3%81%A7%E3%82%A2%E3%83%83%E3%83%97%E3%83%87%E3%83%BC%E3%83%88%E3%82%92%E8%A1%8C%E3%81%86%E3%81%A8npm%E3%81%8C%E6%B6%88/)中可以看出,安装epel导致了问题。
因此要從存儲庫進行安裝。
曾经卸载过一次。
$ sudo yum -y remove npm
获取代码仓库。
curl -sL https://rpm.nodesource.com/setup_8.x | sudo bash -
用Node.js的安装命令完成。
sudo yum install -y nodejs
版本确认
$ npm -v
6.4.1
任务已经完成。