0. 前言
licode官网文档安装教程十分简单, 但是实际搭建过程是很艰辛的. 官方文档没有提示说会遇到什么样的问题, 实际过程中可能遇到各种各样的问题, 在解决的时候费时费力, 我就总结一下自己在安装搭建过程中遇到的问题.
注: 最大的问题就是网络问题, 整个安装过程是边下载资源边安装的, 资源基本都是国外的, 因为墙的缘故, 可能会遇到想不到的错误.
1. 环境
系统: ubuntu16.04.6 ( ubuntu14.04.6也可以 )
用户: root
执行时最好加 sudo
官方安装教程地址: https://licode.readthedocs.io/en/master/from_source/
2. 搭建
下面是我引用licode官方教程中一些主要步骤内容
注: 如果可以翻墙, 而且网速还可以, 将会减少很多下载安装的问题
网络问题可能会报一些连接超时问题或找不到包, 建议重试或者更换网络.
licode中nvm需要安装的node版本是6.14.4, 但我这边使用nvm ls-remote 命令看到远程库中只有1.x.x~3.x.x版本.
(其实远程库应该是有nodejs版本的, iojs和nodejs在两个不同地址的版本库, 很可能因为墙的原因, 导致版本库加载不出来)
1.x.x~3.x.x 是iojs版本
0.x.x 以及4.x.x~10+.x.x是nodejs版本
开始尝试更改licod路径下的.nvmrc配置, 把6.14.4版本号换成3.1.0版本号.
于是nvm安装的为iojs3.1.0, 前面都很成功.
但是到后面编译时发现
安装低版本的node发现执行 ./scripts/installNuve.sh 会报错
之后又更改安装脚本代码, 更换了国内源, 可以加载iojs版本和nodejs版本, 成功安装了6.14.4版本nodejs
在nvm.sh(路径: ./licode/build/libdeps/nvm/)中修改源地址为国内源 如: https://npm.taobao.org/dist
或者在installUbuntuDeps.sh中对应位置添加如下框起来的代码(临时环境变量, 把国内源临时添加上去)
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/dist
这样就可以找到合适版本的nodejs了.
nodejs可执行程序路径(./licode/build/libdeps/nvm/versions/node/v6.14.4/bin/)
注: iojs版本对应的是(./licode/build/libdeps/nvm/versions/io.js/vx.x.x/bin)
npm是安装node时一块儿安装的.是和node绑定的. 在node可执行程序对应的路径下.
npm的可执行程序路径(./licode/build/libdeps/nvm/versions/node/v6.14.4/bin/)
npm使用的源默认是国外的, 速度可能很慢, 很容易发生中连接失败中断错误.
我尝试更换国内源
1 # 更换源地址, 如国内源: https://registry.npm.taobao.org 2 npm config set registry 源的访问地址 3 4 # 查看配置源地址 5 npm config get registry
注: 1. 更换源地址使用绝对路径或相对路径(保证使用的是licode下的npm), 否则直接用npm命令使用的是系统的npm, 而不是licode的npm.
2. 使用tabao源虽然解决了6.14.4版本问题, 但是发现后面的过程很慢很慢, 反而换成原来的很快.
安装conan部分
conan错误, 这个是安装conan错误, 首先去python的dist-packages目录下, 删除setuptools-3.3.egg-info文件夹, 然后再使用pip命令下载setuptools, 后面的就交给licode的安装脚本就行了.
pip3 install setuptools -U Downloading setuptools-41.2.0-py2.py3-none-any.whl (576kB): 576kB downloaded Installing collected packages: setuptools Found existing installation: setuptools 3.3 Not uninstalling setuptools at /usr/lib/python3/dist-packages, owned by OS Successfully installed setuptools Cleaning up... root@ubuntu:~/licode# cd /usr/lib/python3/dist-packages/ root@ubuntu:/usr/lib/python3/dist-packages# sudo rm -fr setuptools-3.3.egg-info/ root@ubuntu:~/licode# pip3 install setuptools -U
下载的各种依赖环境(都是脚本自动下载安装的, 可能有些因网络问题等会失败,可以自行下载对应压缩包放入对应路径):
详细大小:
第一步./scripts/installUbuntuDeps.sh执行成功.
或者
第二步./scripts/installNuve.sh执行成功
第三步 ./scripts/installErizo.sh
编译时遇到错误: 提示识别错误, ld共享库损坏
执行ld -v 查看版本
更新ld.
1 apt-get update 2 apt-get install binutils-2.26 3 // 默认是把新版本的安装到了 /usr/lib/binutils-2.26/ 下了, 把旧的/usr/bin/ld 备份, 建立新的软连接 /usr/bin/ld --> /usr/lib/binutils-2.26/bin/ld 4 5 // 也可以用源码安装(源码安装三部曲): 6 // 源码地址: https://ftp.gnu.org/gnu/binutils/ 7 // ./configure --prefix=/xx/xx 执行configure时添加安装路径.
更新后查看版本
下载nodejs的header
下载nodejs的header失败, 其实这个是源的问题,因为国外源, 导致访问不到.( 另因: 我手动点这个地址, 发现进去需要输入验证码, 很有可能是因为需要输入验证码, 才导致找不到资源.)
在node-gyp可执行程序的路径下执行如下命令手动下载安装(通过国内源下载) (路径:./licode/build/libdeps/nvm/versions/node/v6.14.4/bin/)
1 ./node-gyp install --dist-url https://npm.taobao.org/mirrors/node
执行成功打印
注: node-gyp文档地址: https://www.npmjs.com/package/node-gyp
第三步 ./scripts/installErizo.sh 执行成功.
不常见错误:
执行npm时可能出现的报错:
报错: CERT_UNTRUSTED
解决办法: ssl验证问题,使用下面的命令取消ssl验证即可解决 npm config set strict-ssl false
nvm相关
nvm的github地址: https://github.com/nvm-sh/nvm
nvm 常用命令
● nvm install stable 安装最新稳定版 node
● nvm install <version> 安装指定版本,如:安装v4.4.0,nvm install v4.4.0
● nvm uninstall <version> 删除已安装的指定版本,语法与install类似
● nvm use <version> 切换使用指定的版本node
● nvm ls 列出所有安装的版本
● nvm alias default <version> 如: nvm alias default v11.1.0
其它
window 打开浏览器
cmd /c start http://www.baidu.com
linux打开浏览器
x-www-browser http://www.baidu.com
中科大源
http://npmreg.mirrors.ustc.edu.cn
-----------------------------------------------------------------------------------------------------
目前通过谷歌浏览器和69版本的火狐浏览器无法使用摄像头采集, 也不能正常拉流, 推测是因为安全问题, 需要使用https才能正常使用.