오늘은 CLI의 기본적인 사용법과 node.js, nvm, npm의 사용법을 학습하고 설치를 진행했다.
CLI(Command-Line Interface)는 명령어를 입력해 컴퓨터를 조작하는 방식을 말하며, 현재는 개인컴퓨터 시장은 GUI(Graphical User Interface)가 지배하고 있지만 서버 컴퓨터같은 경우에는 컴퓨터마다 I/O소스를 부착할 수 없기 때문에 여전히 CLI를 이용하는 방법이 유리하다.
터미널을 통해 기본적인 명령어를 사용하여 폴더와 파일을 생성하고 복사, 삭제, 이름변경 등 간단한 작업을 수행하였다. 또한 원격 서버 환경에서 텍스트 파일을 편집해야 하는 경우에 유용한 nano를 설치하여 CLI 환경에서 파일을 생성하고 수정해보았다.
Node.js
런타임은 프로그래밍 언어가 구동되는 환경을 말하는데 대표적으로 크롬, 사파리 같은 웹 브라우저가 javaScript의 런타임이다. 이전에는 javaScript의 런타임은 웹 브라우저 밖에 없었으나 Node.js 가 등장하면서 CLI 환경에서도 코드가 실행되게 할 수 있게 되었다.
nvm
Node.js 지속적으로 업데이트가 되고 있고 현재까지 다양한 버전이 존재하며, 정상적으로 작동하던 코드도 다른 버전의 Node.js에서는 오류가 발생할 수 있다. 그래서 다양한 버전에서 구동이 되는지를 확인을 해야하는데 nvm(Node Version Manager)을 이용하면 기존 Node.js 삭제 후 재설치 할 필요없이 원하는 버전으로 간단하게 변경이 가능하다.
npm
프로그램을 만들때 모든 코드들을 작성하면 시간이 오래걸리고 신뢰도도 떨어지기 때문에 미리 만들어져 있는 검증된 코드(모듈)을 사용하는 것이 효율적이다. package.json에 필요한 모듈의 정보를 입력해주면 npm(Node Package Manager)이란 프로그램을 통해 설치가 가능하다.
{
"name": "cli-practice",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "node index.js",
"test": "mocha getListMultiplesOfTwo.test.js",
"report": "mocha getListMultiplesOfTwo.test.js --sort --reporter @mochajs/json-file-reporter",
"submit": "codestates-submission"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@codestates-cc/submission-npm": "^1.1.3",
"range": "^0.0.3"
},
"devDependencies": {
"@mochajs/json-file-reporter": "^1.3.0",
"chai": "^4.3.4",
"mocha": "^8.3.2"
}
}
package.json의 구조를 살펴보면 가장 먼저 프로젝트에 관한 정보가 표시되어 있고, scripts에 CLI에서 사용가능한 명령어들을 정의할 수 있고 dependencies에는 프로그램 실행에 필요한 모듈이, devDependencies에는 실행과 관련없이 개발을 위해 필요한 모듈이 작성되는 형태로 되어있다.
터미널에서 해당 디렉토리로 진입하여 npm install을 입력하면 package.json에 적힌 모듈을 다운로드하여 node_modules에 저장한다. 또한 npm run 'scripts 명령'을 입력하면 package.json의 scripts의 명령들을 실행할 수 있다.
CLI 환경에서 javaScript를 수정하고 Github 계정을 연결하여 과제를 제출하였는데, 처음 사용하다 보니 익숙하지 않았다. GUI 환경에서 사용했던 작업들을 터미널을 통해서 실행해보고 다른 프로그램을 통해서 터미널도 커스텀 해야겠다.