Nodejs 卸载

卸载:
for MAC:
  1. 在终端输入以下命令:sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}
    1. 删除/usr/local/lib中的所有node和node_modules
    2. 删除/usr/local/lib中的所有node和node_modules的文件夹
    3. 如果是从brew安装的, 运行brew uninstall node
    4. 检查~/中所有的local, lib或者include文件夹, 删除里面所有node和node_modules
    5. 在/usr/local/bin中, 删除所有node的可执行文件
    6. 最后运行以下代码:(可能具体安装路径会有区别 ,find ~ -name “node”   可以找到所有
  2. sudo rm /usr/local/bin/npm
    sudo rm /usr/local/share/man/man1/node.1
    sudo rm /usr/local/lib/dtrace/node.d
    sudo rm -rf ~/.npm
    sudo rm -rf ~/.node-gyp
    sudo rm /opt/local/bin/node
    sudo rm /opt/local/include/node
    sudo rm -rf /opt/local/lib/node_modules

for Ubuntu:
sudo apt-get remove –purge npm
sudo apt-get remove –purge nodejs
#手动删除 npm 相关目录
rm -r /usr/local/bin/npm
rm -r /usr/local/lib/node-moudels
find / -name npm
rm -r /tmp/npm*

npm/cnpm安装

npm 是 JavaScript 世界的包管理工具,并且是 Node.js 平台的默认包管理工具。通过 npm 可以安装、共享、分发代码,管理项目依赖关系

允许用户从NPM服务器下载别人编写的第三方包到本地使用。
允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以通过输入 “npm -v” 来测试是否成功安装。命令如下,出现版本提示表示安装成功:
没有的话 apt install npm
https://www.npmjs.cn/
http://www.runoob.com/nodejs/nodejs-npm.html

安装cnpm
执行命令 sudo npm install -g cnpm –registry=https://registry.npm.taobao.org
使用npm的国内镜像(npm 国内镜像 https://npm.taobao.org/)cnpm 命令代替默认的npm命令,增加依赖包加载速度且避免资源限制。

更新
sudo npm i -g npm

安装
# 安装但不写入package.json; 
$ npm install xxx

# 安装并写入package.json的"dependencies"中;
$ npm install xxx –S 

# 安装并写入package.json的"devDependencies"中;
$ npm install xxx –D

# 全局安装
$ npm install xxx -g

# 安装特定版本
$ npm install xxx@1.0.0

 -S(等同于--save)表示项目打包时会将该依赖包一并打包;-D(等同于--save-dev)表示该依赖包仅在开发环境下使用,正式打包不会加到项目中。

删除
# 删除xxx模块;
$ npm uninstall xxx 

# 删除全局模块xxx;
npm uninstall -g xxx

更新
检查可以更新的模块,可以使用命令行:

$ npm outdated
需要更新模块,首先得更新package.json文件,可使用npm-check-updates依赖包:

# 安装"npm-check-updates"模块
$ npm install -g npm-check-updates

# 安装后,检查可更新的模块
$ ncu
# 或
$ npm-check-updates

# 更新package.json的依赖包到最新版本
$ ncu -u
package.json 更新后,为了保险起见,可删除整个node_modules目录并重新初始化项目。

不建议一次全部更新所有依赖包,可根据实际需求更新即可。全部更新有可能导致项目不稳定,甚至运行不起来,开发项目以稳定合适优先。

如若只需更新某个单一依赖包,可使用命令行:
# 可根据包作用范围在后面加上 -D、-S 或 -g
$ npm update xxx
该更新命令,只能按照package.js中标注的版本号进行更新,故更新前记得先修改package.json中所需更新的依赖包版本号。

快速删除项目中node_modules目录
# 安装"rimraf"模块
$ npm install rimraf -g

# 删除操作
$ rimraf node_modules

Nodejs安装

API http://nodejs.cn/api

  • 下载地址
    https://nodejs.org/en/download/
    http://nodejs.cn/download
    二进制安装 ubuntu/Mac/centos
    apt/brew/yum install nodejs
    apt/brew/yum install npm
    查找是否安装
    apt-cache search nodejs
    下载二进制安装
    tar -zvxf node-v12.13.0.tar.gz
    sudo mv node_v12.13.0-linux-x64 /usr/local/nodejs/

  • 添加环境变量
    /etc/profile #全局环境变量配置文件
    ~/.bashrc #当前用户环境变量配置文件
    #node
    export NODE_HOME=/opt/nodejs
    export PATH=$NODE_HOME/bin:$PATH
    #npmexport NODE_PATH=/opt/nodejs/lib/node_modules
    source 你配置的那个文件让他生效

或者通过软连接的形式将node和npm链接到系统默认的PATH目录下,以下仅介绍软链接方式;
分别执行
sudo ln -s /opt/node/bin/node /usr/local/bin/node
sudo ln -s /opt/node/bin/npm /usr/local/bin/npm

源码安装
wget -c https://npm.taobao.org/mirrors/node/v12.13.0/node-v12.13.0.tar.gz
tar -zvxf node-v12.13.0.tar.gz
生成makefile
./configure –prefix=/user/local/nodejs//要安装的路径
python tools/gyp_node.py –no-parallel -f make-linux
make -j 4 && sudo make install
个性环境变量
vi ~/.bashrc
使生效
source ~/.bashrc
确认环境变量
env | grep PATH

在后台执行
npm install forever -g
forver start/stop server.js

Ubuntu18 VsCode搭建C++编译环境

安装C++插件


  • 安装一系列C++的插件,我安装的有:
    C/C++
    C/C++ Intellisense
    

重点


两种方法编译C++文件

第一种:安装C/C++ Compile Run插件(简单,推荐)

  • 人生苦短,何必浪费时间在环境搭建上~
  • 虽然只支持单文件(single file)的编译和运行,但是日常使用足够了啊
  • 打开C++文件F6即可运行
  • 官方使用手册:

    Requirements
    If you are on linux you must install gcc
    If you are on window you must install mingw
    How to use
    Make sure you have .c or .cpp file open and press “F6”, this will compile the file. If you want to register gcc/g++ path manually you can set it under settings. You can also set to save file before compiling.

第二种:手动添加task.json和launch.json

  • 打开C++文件,切换到Debug下,运行一次,他会创建一个默认文件,改成如下即可:
    {
      "version": "0.2.0",
      "configurations": [
          {
              "name": "(gdb) Launch",
              "type": "cppdbg",
              "request": "launch",
              "program": "${workspaceRoot}/${fileBasenameNoExtension}.o",
              "args": [],
              "stopAtEntry": false,
              "cwd": "${workspaceRoot}",
              "environment": [],
              "externalConsole": true,
              "preLaunchTask": "build",  
              "MIMode": "gdb",
              "setupCommands": [
                  {
                      "description": "Enable pretty-printing for gdb",
                      "text": "-enable-pretty-printing",
                      "ignoreFailures": true
                  }
              ]
          }
      ]
    }
    
  • 然后切回C++文件,Ctrl + Shift + B build >> 选择other新建一个 >> 修改tasks.json如下:
    {  
      "version": "0.1.0",  
      "showOutput": "always",  
      "tasks": [
          {
              "taskName": "build",
              "command": "g++",
              "isShellCommand": true,
              "showOutput": "always",
              "args": [
                  "-g",
                  "${file}",
                  "-o",
                  "${workspaceRoot}/${fileBasenameNoExtension}.o"
              ],
              "problemMatcher": [
                  "$g++"
              ]
          }
      ]  
    }
    

最后

  • Ctrl + Shift + B build
  • 点击debug下的绿色箭头即可运行

Ubuntu 更改镜像源

  • 原文件备份
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

  • 编辑源列表文件
    sudo vim /etc/apt/sources.list

  • 将原来的列表删除,添加如下内容
    中科大镜像源

deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse

阿里源

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

网易源

deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse

清华源

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
  • 更新
    sudo apt-get update
RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak
# && echo "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >> /etc/apt/sources.list && echo "deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list && echo "deb-src http://mirrors.163.com/debian/ jessie main non-free contrib" >>/etc/apt/sources.list && echo "deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list && apt-get update
RUN echo "deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse" >>/etc/apt/sources.list
RUN echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse" >>/etc/apt/sources.list
RUN echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse" >>/etc/apt/sources.list
RUN echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse" >>/etc/apt/sources.list
RUN echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse" >>/etc/apt/sources.list
RUN echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse" >>/etc/apt/sources.list
RUN echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse" >>/etc/apt/sources.list
RUN echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse" >>/etc/apt/sources.list
RUN echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse" >>/etc/apt/sources.list
#更新安装源 阿里源
RUN apt-get update