node.js 버전 관리 도구 ndenv를 시도했습니다

5814 단어 Node.jsUbuntundenv
Ubuntu 번들 Nodejs에서 사용하면 버전을 자유롭게 선택할 수 없습니다.Google에서 찾아보니 pyenv와 rbenv와 유사한 도구가 있어서 사용해 보았습니다.
사이트 축소판.

작업 디렉토리


일반 사용자의 홈 디렉터리에 설치합니다.각양각색의 공존.
tkr@tkr02:~$ ls -la
合計 64
drwxr-xr-x  9 tkr  tkr  4096  1月  2 11:17 .
drwxr-xr-x  3 root root 4096  1月  2 07:58 ..
-rw-------  1 tkr  tkr  1903  1月  2 18:15 .bash_history
-rw-r--r--  1 tkr  tkr   220  1月  2 07:58 .bash_logout
-rw-rw-r--  1 tkr  tkr   152  1月  2 08:32 .bash_profile
-rw-r--r--  1 tkr  tkr  3637  1月  2 07:58 .bashrc
drwx------  3 tkr  tkr  4096  1月  2 08:23 .cache
drwx------  2 tkr  tkr  4096  1月  2 09:15 .emacs.d
drwxrwxr-x  3 tkr  tkr  4096  1月  2 09:08 .gem
-rw-r--r--  1 tkr  tkr   675  1月  2 07:58 .profile
drwxrwxr-x 12 tkr  tkr  4096  1月  2 08:30 .pyenv
drwxrwxr-x 12 tkr  tkr  4096  1月  2 08:43 .rbenv
-rw-------  1 tkr  tkr   174  1月  2 08:47 .softlayer
drwxr-xr-x  2 tkr  tkr  4096  1月  2 08:02 .ssh
drwxr-xr-x  2 root root 4096  1月  2 11:16 .vim
-rw-------  1 tkr  tkr  2297  1月  2 11:17 .viminfo

GiitHub 클론 툴에서

tkr@tkr02:~$ git clone https://github.com/riywo/ndenv ~/.ndenv
Cloning into '/home/tkr/.ndenv'...
remote: Counting objects: 63, done.
remote: Total 63 (delta 0), reused 0 (delta 0), pack-reused 63
Unpacking objects: 100% (63/63), done.
Checking connectivity... done.

로그인 케이스에 설정 추가

tkr@tkr02:~$ echo 'export PATH="$HOME/.ndenv/bin:$PATH"' >> ~/.bash_profile
tkr@tkr02:~$ echo 'eval "$(ndenv init -)"' >> ~/.bash_profile
tkr@tkr02:~$ exec $SHELL -l
tkr@tkr02:~$ ndenv -v
ndenv 0.4.0-4-ga339097

GiitHub에서 복제 node-build

tkr@tkr02:~$ git clone https://github.com/riywo/node-build.git ~/.ndenv/plugins/node-build
Cloning into '/home/tkr/.ndenv/plugins/node-build'...
remote: Counting objects: 68, done.
remote: Total 68 (delta 0), reused 0 (delta 0), pack-reused 68
Unpacking objects: 100% (68/68), done.
Checking connectivity... done.

가져올 수 있는 버전 나열

tkr@tkr02:~$ ndenv install -l
Available versions:
  v0.1.14
  v0.1.15
中略
  v0.12.4
  v0.12.5
  v0.12.6
  v0.12.7
  v0.12.8
  v0.12.9
中略
  iojs-v3.2.0
  iojs-v3.3.0
  iojs-v3.3.1
中略

버전 설치 지정


마지막으로 주문의 rehash를 잊지 마세요.
tkr@tkr02:~$ ndenv install v0.12.9
Downloading node-v0.12.9-linux-x64.tar.gz...
-> https://nodejs.org/dist/v0.12.9/node-v0.12.9-linux-x64.tar.gz
Installing node-v0.12.9-linux-x64...
Installed node-v0.12.9-linux-x64 to /home/tkr/.ndenv/versions/v0.12.9
tkr@tkr02:~$ ndenv rehash

가져오기 확인

tkr@tkr02:~$ ndenv versions
  v0.12.9
tkr@tkr02:~$ ndenv global v0.12.9
tkr@tkr02:~$ node -v
v0.12.9 

테스트 페이지 만들기


FW 설정 추가


OS 방화벽 설정 TCP/8080 열기
tkr@tkr02:~$ sudo -s
root@tkr02:~# ufw allow 8080
ルールを追加しました
ルールを追加しました (v6)
root@tkr02:~# ufw status
状態: アクティブ

To                         Action      From
--                         ------      ----
Anywhere                   ALLOW       10.0.0.0/8
80                         ALLOW       Anywhere
1883                       ALLOW       Anywhere
8080                       ALLOW       Anywhere
80 (v6)                    ALLOW       Anywhere (v6)
1883 (v6)                  ALLOW       Anywhere (v6)
8080 (v6)                  ALLOW       Anywhere (v6)

http 서버 코드


HTTP 서버에 대한 가장 간단한 코드를 만듭니다.
server.js
var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(8080, '0.0.0.0');

node.js에서 http 서버 실행하기


상기 코드를 노드 명령의 매개 변수에 제공한 후에 실행합니다.간단하게 HTTP 서버를 만들어서 좀 놀랐어요!
tkr@tkr02:~$ node server.js 

브라우저에서 확인


IP 주소 또는 도메인 이름 액세스를 사용하여 확인합니다.Hello World가 뜨면 성공이야.
https://github.com/riywo/ndenv

npm도 사용해 보고 있어요.

tkr@tkr02:~$ npm install mqtt --save

> [email protected] install /home/tkr/node_modules/mqtt/node_modules/websocket-stream/node_modules/ws/node_modules/utf-8-validate
> node-gyp rebuild

make: ディレクトリ `/home/tkr/node_modules/mqtt/node_modules/websocket-stream/node_modules/ws/node_modules/utf-8-validate/build' に入ります
  CXX(target) Release/obj.target/validation/src/validation.o
  SOLINK_MODULE(target) Release/obj.target/validation.node
  COPY Release/validation.node
make: ディレクトリ `/home/tkr/node_modules/mqtt/node_modules/websocket-stream/node_modules/ws/node_modules/utf-8-validate/build' から出ます

> [email protected] install /home/tkr/node_modules/mqtt/node_modules/websocket-stream/node_modules/ws/node_modules/bufferutil
> node-gyp rebuild

make: ディレクトリ `/home/tkr/node_modules/mqtt/node_modules/websocket-stream/node_modules/ws/node_modules/bufferutil/build' に入ります
  CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
  SOLINK_MODULE(target) Release/obj.target/bufferutil.node
  COPY Release/bufferutil.node
make: ディレクトリ `/home/tkr/node_modules/mqtt/node_modules/websocket-stream/node_modules/ws/node_modules/bufferutil/build' から出ます
[email protected] node_modules/mqtt
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected], [email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected])
├── [email protected] ([email protected], [email protected])
└── [email protected] ([email protected], [email protected], [email protected])

좋은 웹페이지 즐겨찾기