标签:无法 手动安装 modules registry 完成 configure 用户 令行 RKE
我的服务器是香港的服务器,使用可视化部署的时候,由于默认的下载地址是阿里云的地址,所以下载的时候总是下载超时。无奈只能使用命令行部署。
这是官方给出命令行部署的知道说明。
mkdir yapi
cd yapi
git clone https://github.com/YMFE/yapi.git vendors //或者下载 zip 包解压到 vendors 目录(clone 整个仓库大概 140+ M,可以通过 `git clone --depth=1 https://github.com/YMFE/yapi.git vendors` 命令减少,大概 10+ M)
cp vendors/config_example.json ./config.json //复制完成后请修改相关配置
cd vendors
npm install --production --registry https://registry.npm.taobao.org
npm run install-server //安装程序会初始化数据库索引和管理员账号,管理员账号名可在 config.json 配置
node server/app.js //启动服务器后,请访问 127.0.0.1:{config.json配置的端口},初次运行会有个编译的过程,请耐心等候
我的nodejs版本是v10.20.1,注意按照官方的要求,使用node版本。
安装缓慢的问题
npm install --production --registry https://registry.npm.taobao.org
这里使用淘宝的镜像下载的,因为我的服务器是香港的服务器。这样下载会很慢,去掉后边的--registry
部分既可以。像下面这种。
npm install --production
mongodb数据无法认证
报错如下:
error: MongoNetworkError: Authentication failed., mongodb Authentication failed
log: mongodb load success...
这个问题,可能是官方给你设置的坑。在config.json
里面,如果你之前配置过的config.json
的话,应该会看到,数据库有下面的配置:
"db": {
"servername": "127.0.0.1",
"DATABASE": "yapi",
"port": 27017,
"user": "test1",
"pass": "test1",
"authSource": ""
},
问题就是在你不注意的时候,官方把你的账号和密码加上了。你只需要把他们质控就行了,默认情况下mogodb连接是不需要密码的。
权限问题
报错如下:
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir ‘/root/yapi/vendors/node_modules/dtrace-provider/.node-gyp‘
就是说 npm 出于安全考虑不支持以 root 用户运行,即使你用 root 用户身份运行了,npm 会自动转成一个叫 nobody 的用户来运行,而这个用户几乎没有任何权限。这样的话如果你脚本里有一些需要权限的操作,比如写文件(尤其是写 /root/.node-gyp),就会崩掉了。
为了避免这种情况,要么按照 npm 的规矩来,专门建一个用于运行 npm 的高权限用户;要么加 --unsafe-perm 参数,这样就不会切换到 nobody 上,运行时是哪个用户就是哪个用户,即是 root。
使用如下命令继续安装:
npm install --production --unsafe-perm
标签:无法 手动安装 modules registry 完成 configure 用户 令行 RKE
原文地址:https://www.cnblogs.com/hxsen/p/12950589.html