zoukankan      html  css  js  c++  java
  • nodejs和npm的安装

    下载nodejs的压缩包 网址:https://nodejs.org/en/ 

    下载以tar.xz结尾的包例如:node-v8.9.4-linux-x64.tar.xz

    上传包到制定的目录 可以用lrzsz

    解压:xz -d

     node-v8.9.4-linux-x64.tar.xz

    然后在 拆包: tar –xvf node-v8.9.4-linux-x64.tar

    配置环境变量在/etc/profile

    Vim /etc/profilr  最后加入node的变量

    export NODE=/root/node-v8.9.4-linux-x64  #node的安装路径

    export PATH=$PATH:$NODE/bin          #node的bin目录

    推出声明一下

    Source  /etc/profile    #环境变量就设好了

    查看是否安装成功:出现版本号就是安装成功了

    配置npm的源:

    npm set registry https://registry.npm.taobao.org/ # 推荐淘宝npm镜像

    安装配置sinopia

    npm install -g sinopia

    启动sinopia

    输入:sinopia  启动了就

    配置文件config.yaml如下:

    # This is the default config file. It allows all users to do anything,

    # so don't use it on production systems.

    # Look here for more config file examples:

    # https://github.com/rlidwka/sinopia/tree/master/conf

    # path to a directory with all packages

    storage: /home/{user}/.local/share/sinopia/storage # 库存路径,需要考虑磁盘空间

    web: # 自定义web项,即浏览器访问页面

      # web interface is disabled by default in 0.x, will be enabled soon in 1.x

      # when all its issues will be fixed

      # set this to `true` if you want to experiment with web ui now;

      # this has a lot of issues, e.g. no auth yet, so use at your own risk

      #enable: true

      title: Sinopia

      # logo: logo.png

      # template: custom.hbs

    auth:

      htpasswd:

        file: ./htpasswd # 添加用户(npm adduser)后自动创建,保存用户信息,可以初始化用户

        # Maximum amount of users allowed to register, defaults to "+inf".

        # You can set this to -1 to disable registration.

        #max_users: 1000 # 设置为-1不能npm adduser

    # a list of other known repositories we can talk to

    uplinks: # 可以配置多个上游地址,后面packages中的proxy指定用哪个

      npmjs:

        url: https://registry.npm.taobao.org/ # 更改此上游地址

        # amount of time to wait for repository to respond

        # before giving up and use the local cached copy

        #timeout: 30s # 请求上游地址超时时间

        # maximum time in which data is considered up to date

        # default is 2 minutes, so server won't request the same data from

        # uplink if a similar request was made less than 2 minutes ago

        #maxage: 2m # 包过期时间

        # if two subsequent requests fail, no further requests will be sent to

        # this uplink for five minutes

        #max_fails: 2 # 容许依赖请求最大失败数

        #fail_timeout: 5m # 依赖请求超时时间

    packages: # 包的权限管理,$all为所有人,$authenticated为通过验证人

                      # 分布和安装两种权限,值可以特指某几人

      '@*/*': # 跟package.json中的name属性进行匹配

        # scoped packages

        access: $all

        publish: $authenticated

      '*':

        # allow all users (including non-authenticated users) to read and

        # publish all packages

        # you can specify usernames/groupnames (depending on your auth plugin)

        # and three keywords: "$all", "$anonymous", "$authenticated"

        access: $all

        # allow all known users to publish packages

        # (anyone can register by default, remember?)

        publish: $authenticated

        # if package is not available locally, proxy requests to 'npmjs' registry

        proxy: npmjs

    # log settings

    logs:

      - {type: stdout, format: pretty, level: http}

      #- {type: file, path: sinopia.log, level: info}

     

    listen: 0.0.0.0:4873 # 设置监听地址,0.0.0.0匹配本机地址

     

    # if you use nginx with custom path, use this to override links

    #url_prefix: https://dev.company.local/sinopia/

    # Configure HTTPS, it is required if you use "https" protocol above.

    #https:

    #  key: path/to/server.key

    #  cert: path/to/server.crt

    # you can specify proxy used with all requests in wget-like manner here

    # (or set up ENV variables with the same name)

    #http_proxy: http://something.local/ # 设置代理服务器

    #https_proxy: https://something.local/

    #no_proxy: localhost,127.0.0.1

    # maximum size of uploaded json document

    # increase it if you have "request entity too large" errors

    #max_body_size: 1mb # http请求body大小

    修改uplinks及listen值,同上,重启sinopia
    如果想引用别的配置文件,请通过sinopia -c <配置文件>指定



    最后更改npm源地址为私有库地址

    $ npm set registry http://{服务器ip}:4873/ # 内网测试可行

     

     

    用pm2托管sinopia

    上面方式启动sinopia只是暂时的,退出命令行就没有了,因此需要一个长期开启sinopia方案,通过pm2托管,可以让sinopia进程永远活着,就算意外挂了也可自动重启。
    安装pm2

    $ npm install -g pm2

    安装完后,使用pm2启动sinopia

    $ pm2 start sinopia

     

    Nrm是npm的管理工具:

    nrm的安装:

     

     

    添加私有仓库

    nrm add mynpm http://192.168.44.139:4873

     

    使用私有仓库

    nrm use mynpm

     

    测试私有仓库

    $ mkdir test
    $ cd test
    $ npm install webpack # 第一次安装比较慢
    ...
     
    $ rm -rf webpack
    $ npm install webpack # 第二次安装就比较快了

     

  • 相关阅读:
    shell 重启 tomcat 脚本
    shell 复制/备份文件 脚本
    在 CentOS 上安装 node.js
    架构漫谈(一):什么是架构? -王概凯
    冷静审视人工智能技术的本质 | 一图看懂新一代人工智能知识体系大全
    时代在变
    什么是设计思维Design Thinking——风靡全球的创造力培养方法
    金融即服务(FaaS),将开启场景化金融新格局
    devops工具
    京东金融-供应链金融业务介绍
  • 原文地址:https://www.cnblogs.com/houchaoying/p/8469115.html
Copyright © 2011-2022 走看看