mebtte / cicada

A multi-user music service for self-hosting.
GNU General Public License v3.0
1.03k stars 80 forks source link

在mac arm系统npm install遇到的问题: #42

Closed QqqRy closed 1 year ago

QqqRy commented 1 year ago

node.js version: v19.7.0 npm version: 9.5.0 按照构建当前平台二进制包执行npm install时,遇到以下报错:

❯ npm install                                                                                          ─╯
npm WARN cleanup Failed to remove some directories [
npm WARN cleanup   [
npm WARN cleanup     '/Users/u_name/code/src/tools/cicada/node_modules/react-native',
npm WARN cleanup     [Error: EINVAL: invalid argument, rmdir '/Users/u_name/code/src/tools/cicada/node_modules/react-native/ReactAndroid/src/main/libraries/fbcore'] {
npm WARN cleanup       errno: -22,
npm WARN cleanup       code: 'EINVAL',
npm WARN cleanup       syscall: 'rmdir',
npm WARN cleanup       path: '/Users/u_name/code/src/tools/cicada/node_modules/react-native/ReactAndroid/src/main/libraries/fbcore'
npm WARN cleanup     }
npm WARN cleanup   ]
npm WARN cleanup ]
npm ERR! code 1
npm ERR! path /Users/u_name/code/src/tools/cicada/node_modules/sqlite3
npm ERR! command failed
npm ERR! command sh -c node-pre-gyp install --fallback-to-build
npm ERR! detect_libc.familySync is not a function
npm ERR! node-pre-gyp info it worked if it ends with ok
npm ERR! node-pre-gyp info using node-pre-gyp@1.0.10
npm ERR! node-pre-gyp info using node@19.7.0 | darwin | arm64
npm ERR! node-pre-gyp ERR! install error
npm ERR! node-pre-gyp ERR! stack TypeError: detect_libc.familySync is not a function
npm ERR! node-pre-gyp ERR! stack     at module.exports.evaluate (/Users/u_name/code/src/tools/cicada/node_modules/@mapbox/node-pre-gyp/lib/util/versioning.js:305:46)
npm ERR! node-pre-gyp ERR! stack     at install (/Users/u_name/code/src/tools/cicada/node_modules/@mapbox/node-pre-gyp/lib/install.js:190:25)
npm ERR! node-pre-gyp ERR! stack     at self.commands.<computed> [as install] (/Users/u_name/code/src/tools/cicada/node_modules/@mapbox/node-pre-gyp/lib/node-pre-gyp.js:86:37)
npm ERR! node-pre-gyp ERR! stack     at run (/Users/u_name/code/src/tools/cicada/node_modules/@mapbox/node-pre-gyp/lib/main.js:81:30)
npm ERR! node-pre-gyp ERR! stack     at Object.<anonymous> (/Users/u_name/code/src/tools/cicada/node_modules/@mapbox/node-pre-gyp/lib/main.js:125:1)
npm ERR! node-pre-gyp ERR! stack     at Module._compile (node:internal/modules/cjs/loader:1275:14)
npm ERR! node-pre-gyp ERR! stack     at Module._extensions..js (node:internal/modules/cjs/loader:1329:10)
npm ERR! node-pre-gyp ERR! stack     at Module.load (node:internal/modules/cjs/loader:1133:32)
npm ERR! node-pre-gyp ERR! stack     at Module._load (node:internal/modules/cjs/loader:972:12)
npm ERR! node-pre-gyp ERR! stack     at Module.require (node:internal/modules/cjs/loader:1157:19)
npm ERR! node-pre-gyp ERR! System Darwin 22.2.0
npm ERR! node-pre-gyp ERR! command "/opt/homebrew/Cellar/node/19.7.0/bin/node" "/Users/u_name/code/src/tools/cicada/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
npm ERR! node-pre-gyp ERR! cwd /Users/u_name/code/src/tools/cicada/node_modules/sqlite3
npm ERR! node-pre-gyp ERR! node -v v19.7.0
npm ERR! node-pre-gyp ERR! node-pre-gyp -v v1.0.10
npm ERR! node-pre-gyp ERR! not ok

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/u_name/.npm/_logs/2023-02-24T07_54_31_254Z-debug-0.log
QqqRy commented 1 year ago

另外,如果不支持mac-arm的话,能否详细的说下怎么用docker构建,只要执行

docker run \
  -d \
  --restart=always \
  -p 8000:80 \
  -v $HOME/cicada-data:/data \
  -v $HOME/cicada-config.json:/config.json:ro \
  --name cicada \
  mebtte/cicada

就可以了吗? /cicada-data和cicada-config.json文件的应该填什么,另外首次运行需要配置initialadminemail,这里的值是随便填一个自己的邮箱名就可以了吗

mebtte commented 1 year ago

@QqqRy

  1. npm install 报错大概率是因为你的网络问题, 无法下载某些 npm package
  2. 构建 docker 镜像可以参考这里
  3. 支持 arm mac, 我本身就是用 arm mac 进行开发的
  4. cicada-data 指的是存放知了数据的目录, cicada-config.json 指的是知了的配置文件
  5. initialAdminEmail 是你登录知了使用的邮箱