本篇內容介紹了“怎么在dbcolinux上安裝cozy-light”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
成都創新互聯公司服務項目包括運河網站建設、運河網站制作、運河網頁制作以及運河網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,運河網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到運河省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!
cozy-light好像2016年之后沒人維護了,它的最新版本是0.4.9,相反它的APP在維護就夠了,安裝cozy-light分為安裝cozy-light和各種支持APP支持,由于這二部分不是同步更新開發的,涉及到相同的東西有時會二處有不同的版本編譯需求,比如pouchdb-4.0.3.tgz在app和cozy部都會被安裝一次,都會用到leveldb,一個是120,一個是114,要找一個兼容這二者的js,我選擇是的0.12.18帶npm2.15.11,否則能編譯完cozy-light是處處充滿陷坑,稍后會提到為什么這么選.首先,node0.12.18安裝https://nodejs.org/dist/latest-v0.12.x/,再裝git,由于node 0.12.18屬于老版本了,我們需要為/usr/bin/node建立一個shell wrapper開啟它的和諧模式,否則會出錯,把node重命名為nodejs,/usr/bin下新建以下內容文件并加起執行權限,引用nodejs:
#!/bin/sh rdlkf() { [ -L "$1" ] && (local lk="$(readlink "$1")"; local d="$(dirname "$1")"; cd "$d"; local l="$(rdlkf "$lk")"; ([[ "$l" = /* ]] && echo "$l" || echo "$d/$l")) || echo "$1"; } DIR="$(dirname "$(rdlkf "$0")")" exec /usr/bin/env nodejs --harmony "$@"
npm install cozy-light -g會自動從github下載0.4.9到/usr/lib/node_modules/cozy-light,我在香港主機裝的,所以外網速度快,/cozy-light/node-modules有它引用到的submodules各個submodules有它subsubmodules,node的modules就是一個樹形結構,沒有ln這樣的引用,同一個工程不同的部分引用相同的模塊的不同版本會重復存在,這也就是如上為什么一個項目要選一個兼容node版本的另一原因。不指定 -g會安裝到PWD,編譯過程中會調用node-gyp編譯leveldb120,出了一些warnning:gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/0.12.28",但是沒關系,安裝正確結束會輸出一個cozy-light的模塊樹形表,直接啟動它建立到/usr/bin/cozy-light的文件,cozy-light -p 80 start,啟動失敗,以下錯誤在設置了和諧模式后依然存在:
/usr/lib/node_modules/cozy-light/node_modules/pouchdb/node_modules/request/node_modules/hawk/lib/server.js:506 host, ^ SyntaxError: Unexpected token ,
目測是request版本問題,查看其所在安裝目錄,發現安裝的是最新的版本可能需要降級,我們用自定義位置的安裝法:在具體模塊樹級層次中運行npm install。不依賴整體-g:打開/usr/lib/node_modules/cozy-light/node_modules/pouchdb/package.json,將"request": "^2.61.0",改為"request": "2.68.0",為2016年1月的版本,刪除pouchdb/node-modules下的request,進入/usr/lib/node_modules/cozy-light/node_modules/pouchdb/下執行npm install,再次執行cozy-light -p 80 start 成功。cozy-light再次啟動會有bug,cozy-light stop后再start也不行,最好重啟一下。
但是挑戰不是這里,挑戰和難度是安裝app:
cozy-light install-distro personal-cloud
apps全被安裝在于./root下,/root/.cozy-light levelDB的數據都在這里,這次node-gyp編譯的是leveldb140,有出錯,整個過程中,我先后嘗試過4.x-latest,5.0-latest,6,0-latest,都有出錯:nan_implementation_12_inl.h error: no matching function for call to ‘v8::Signature::New,追蹤一下,依然是版本的問題:[email protected]'引用的nan 1.6.2,僅跟0.12適配,這也是為什么我選擇0.12的原因,安裝其它app或distros時,也會有其它的問題,app/distors安裝跟cozy-light一樣,受上面說的工程各層次級引用不同nodejs版本的原因導致出現node-gyp將庫鏈接到不同node版本出現問題,在0.12下以上personal cloud distro全程通過。
還存在一個warning : An uncaught exception has been thrown:{ [Error: spawn ENOMEM] code: 'ENOMEM', errno: 'ENOMEM', syscall: 'spawn' },要打開swap參見我以前的《在tinycolinux xxx》文章增加swap部分
以上personal cloud distro只安裝了tasky,contacts,simple-daskboard,,等幾個app,安裝一下files:cozy-light install cozy-labs/files,啟動cozy-light后為其設置密碼:cozy-light set-password,啟動和進入files app時會現如下錯誤:
An error occurred while initializing notification module -- Error: connect ECONNREFUSED [Error: No instance domain set] Error: connect ECONNREFUSED
“怎么在dbcolinux上安裝cozy-light”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注創新互聯網站,小編將為大家輸出更多高質量的實用文章!
本文標題:怎么在dbcolinux上安裝cozy-light
網頁網址:http://m.2m8n56k.cn/article4/pgcgie.html
成都網站建設公司_創新互聯,為您提供微信小程序、全網營銷推廣、網站設計、ChatGPT、網站設計公司、動態網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯