<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 前言 基于前面的了解或者公司內部的剛需,可能搭建cnpm倉庫已經變成了你必須會的知識點。跟著我一起去服務器部署一個私有的cnpm倉庫吧。 ### 環境要求 * 系統要求:mac或者linux(服務器基本都是linux的) * nodejs:4.2.3 以上版本 ### 基本安裝 * nodejs ~~~ curl -sL https://rpm.nodesource.com/setup_7.x | bash - (腳本) yum install -y nodejs yum install -y gcc-c++ make ~~~ * mysql ~~~ rpm -qa | grep mariadb rpm -e --nodeps mariadb/mysql sudo yum -y install mariadb-server systemctl start mariadb.service mysqladmin -u root password ‘passwd’ yum install git git clone git://github.com/fengmk2/cnpmjs.org.git $HOME/cnpmjs.org cd cnpmjs.org Mysql -u root -p create database cnpmjs; use cnpmjs; ~~~ source docs/db.sql【db.sql位于cnpmjs.org/docs/db.sql】 vim config/index.js ### 使用須知 * cnpm提供兩個端口:7001和7002,其中7001用于NPM的注冊服務,7002用于Web訪問。 * bindingHost為安裝cnpm的服務器ip地址,也就是在瀏覽器中只能通過訪問http://192.168.0.234來訪問cnpm以及獲取npm的注冊服務。 修改本地下載地址(registryHost:r.cnpmjs.org修改為192.168.0.129:7001) * 安裝依賴 持久使用 npm config set registry https://registry.npm.taobao.org // 配置后可通過下面方式來驗證是否成功 npm config get registry// 或 npm info express 進入./cnpmjs.org,執行npm install * 啟動服務 node dispatch.js或者“nohup node dispatch.js &”來啟動。 其中nohup為在后臺啟動。 ?npm run dev:調試模式啟動; ?npm run test:跑測試; ?npm run start:啟動 CNPM; ?npm run status:查看 CNPM 啟動狀態; ?npm run stop:停止 CNPM。 * 測試是否啟動成功 在瀏覽器中輸入:http://192.168.0.234:7002/,如果出現: 發布私有包 npm config set registry https://registry.npm.taobao.org 安裝cnpm客戶端 curl -sL https://rpm.nodesource.com/setup_7.x | bash - (腳本) yum install -y nodejs sudo npm install cnpm -g 更改默認的registry,指向私有的registry cnpm set registry http://192.168.0.234:7001 * 用npm賬號登錄你的私有registry 這里的賬號中www.npmjs.com的賬號,沒有請注冊(admin登錄) ~~~ $ cnpm login Username: admin Password: npm0816@zjkj.com Email: (this IS public) admin@cnpmjs.org ~~~ ### 創建私有測試包 * 生成測試包 ~~~ $ cd /tmp $ mkdir helloworld && cd helloworld $ cnpm init name: @cjt/helloworld version: 1.0.0 ~~~ * 生成package.json(產出文件) : ~~~ { "name": "@cjt/helloworld", "version": "1.0.0", "description": "my first scoped package", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" } ~~~ * 注意事項 1. 注意,包名helloworld前必須要以公司名@cjt為前綴, @cjt在 config/index.js的scopes中配置 + // registry scopes, if don't set, means do not support scopes scopes: [ '@cjt','@cnpm', '@cnpmtest', '@cnpm-test' ], 2. 其余賬號權限分配必須二次開發,修改 `middleware/publishable.js` 3. 發布與同步(見cnpm入門) 發布 cnpm publish 通過瀏覽器訪問:http://192.168.0.129:7002/?可查看和操作私有CNPM服務器 從默認源同步gulp cnpm sync gulp 下載 cnpm install gulp 4. 配置文件設置 ?enableCluster:是否啟用?cluster-worker?模式啟動服務,默認?false,生產環節推薦為?true; 利用多核 ?registryPort:API 專用的 registry 服務端口,默認?7001; ?webPort:Web 服務端口,默認?7002; ?bindingHost:監聽綁定的 Host,默認為?127.0.0.1,如果外面架了一層本地的?Nginx?反向代理或者?Apache?反向代理的話推薦不用改; ?sessionSecret:session?用的鹽; ?logdir:日志目錄; ?uploadDir:臨時上傳文件目錄; ?viewCache:視圖模板緩存是否開啟,默認為?false; ?enableCompress:是否開啟?gzip?壓縮,默認為?false; ?admins:管理員們,這是一個?JSON Object,對應各鍵名為各管理員的用戶名,鍵值為其郵箱,默認為?{ fengmk2: 'fengmk2@gmail.com', admin: 'admin@cnpmjs.org', dead_horse: 'dead_horse@qq.com' }; ?logoURL:Logo?地址,不過對于我這個已經把 CNPM 前端改得面目全非的人來說已經忽略了這個配置了; ?adBanner:廣告 Banner 的地址; ?customReadmeFile:實際上我們看到的?cnpmjs.org?首頁中間一大堆冗長的介紹是一個 Markdown 文件轉化而成的,你可以設置該項來自行替換這個文件; ?customFooter:自定義頁腳模板; ?npmClientName:默認為?cnpm,如果你有自己開發或者 fork 的 npm 客戶端的話請改成自己的 CLI 命令,這個應該會在一些頁面的說明處替換成你所寫的; ?backupFilePrefix:備份目錄; ?database:數據庫相關配置,為一個對象,默認如果不配置將會是一個?~/.cnpmjs.org/data.sqlite?的 SQLite; odb:數據的庫名; ousername:數據庫用戶名; opassword:數據庫密碼; odialect:數據庫適配器,可選?"mysql"、"sqlite"、"postgres"、"mariadb",默認為?"sqlite"; ohost:數據庫地址; oport:數據庫端口; opool:數據庫連接池相關配置,為一個對象; omaxConnections:最大連接數,默認為?10; ominConnections:最小連接數,默認為?0; omaxIdleTime:單條鏈接最大空閑時間,默認為?30000?毫秒; ostorege:僅對 SQLite 配置有效,數據庫地址,默認為?~/.cnpmjs/data.sqlite; ?nfs:包文件系統處理對象,為一個 Node.js 對象,默認是?fs-cnpm?這個包,并且配置在?~/.cnpmjs/nfs?目錄下,也就是說默認所有同步的包都會被放在這個目錄下;開發者可以使用別的一些文件系統插件(如上傳到又拍云等),又或者自己去按接口開發一個邏輯層,這些都是后話了; ?registryHost:默認為?r.cnpmjs.org; ?enablePrivate:是否開啟私有模式,默認為?false; o如果是私有模式則只有管理員能發布包,其它人只能從源站同步包; o如果是非私有模式則所有登錄用戶都能發布包; ?scopes:非管理員發布包的時候只能用以?scopes?里面列舉的命名空間為前綴來發布,如果沒設置則無法發布,也就是說這是一個必填項,默認為?[ '@cnpm', '@cnpmtest', '@cnpm-test' ],據蘇千大大解釋是為了便于管理以及讓公司的員工自覺按需發布;更多關于 NPM scope 的說明請參見?npm-scope; ?privatePackages:就如該配置項的注釋所述,出于歷史包袱的原因,有些已經存在的私有包(可能之前是用 Git 的方式安裝的)并沒有以命名空間的形式來命名,而這種包本來是無法上傳到 CNPM 的,這個配置項數組就是用來加這些例外白名單的,默認為一個空數組; ?sourceNpmRegistry:更新源 NPM 的 registry 地址,默認為?https://registry.npm.taobao.org; ?sourceNpmRegistryIsCNpm:源 registry 是否為 CNPM,默認為?true,如果你使用的源是官方 NPM 源,請將其設為?false; ?syncByInstall:如果安裝包的時候發現包不存在,則嘗試從更新源同步,默認為?true; ?syncModel:更新模式(不過我覺得是個?typo),有下面幾種模式可以選擇,默認為?"none"; o"none":永不同步,只管理私有用戶上傳的包,其它源包會直接從源站獲取; o"exist":定時同步已經存在于數據庫的包; o"all":定時同步所有源站的包; ?syncInterval:同步間隔,默認為?"10m"?即十分鐘; ?syncDevDependencies:是否同步每個包里面的?devDependencies?包們,默認為?false; ?badgeSubject:包的?badge?顯示的名字,默認為?cnpm; ?userService:用戶驗證接口,默認為?null,即無用戶相關功能也就是無法有用戶去上傳包,該部分需要自己實現接口功能并配置,如與公司的?Gitlab?相對接,這也是后話了; ?alwaysAuth:是否始終需要用戶驗證,即便是?$ cnpm install?等命令; ?httpProxy:代理地址設置,用于你在墻內源站在墻外的情況。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看