Doccano: 使用 ssh 协议从 Squire.git 在 RHEL7 上安装 npm 失败

创建于 2020-01-17  ·  3评论  ·  资料来源: doccano/doccano

问题

对于从源代码安装,我在npm install上遇到错误
我还附上了由 npm install 生成的调试日志。
我尝试了以下解决方法
1) 在 github 上创建 SSH pub/priv 密钥对
这样做之后,我可以手动运行在 npm 中失败的命令,没有问题

/usr/bin/git ls-remote -h -t ssh://[email protected]/seonim-ryu/Squire.git

2) 尝试强制 git 使用 https 而不是 git

git config --global url."https://github.com/".insteadOf [email protected]:
git config --global url."https://".insteadOf git://

如何重现问题
我创建了一个执行以下内容的脚本

yum install rh-python36* -y
yum install rh-nodejs12* -y
yum install gcc-c++ -y
yum groupinstall "Development tools" -y
source scl_source enable rh-nodejs12 rh-python36

git clone https://github.com/chakki-works/doccano.git
cd doccano
virtualenv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
cd frontend

npm install

错误信息


[root]# npm i
npm WARN deprecated [email protected]: use String.prototype.padStart()
npm WARN deprecated [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
npm ERR! Error while executing:
npm ERR! /usr/bin/git ls-remote -h -t ssh://[email protected]/seonim-ryu/Squire.git
npm ERR!
npm ERR! fatal: failed to stat '.': Permission denied
npm ERR!
npm ERR! exited with error code: 128

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-01-17T14_05_41_472Z-debug.log

您的环境

[root]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.7 (Maipo)

[root]# yum list installed | grep rh-python
rh-python36.x86_64             2.0-1.el7            @rhel-server-rhscl-7-rpms
[root]# python --version
Python 3.6.9

[root]# yum list installed | grep pip
rh-python36-python-pip.noarch  9.0.1-2.el7          @rhel-server-rhscl-7-rpms
[root]# pip --version
pip 9.0.1 from /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages (python 3.6)

[root]# yum list installed | grep -A 2 virtualenv
rh-python36-python-virtualenv.noarch 15.1.0-2.el7         @rhel-server-rhscl-7-rpms
[root]# virtualenv --version
15.1.0

[root]# yum list installed | grep npm
rh-nodejs12-npm.x86_64         6.10.3-12.10.0.4.el7 @rhel-server-rhscl-7-rpms
[root]# npm --version
6.10.3

[root]# yum list installed | grep rh-node
rh-nodejs12.x86_64             3.4-1.el7            @rhel-server-rhscl-7-rpms
[root]# node --version
v12.10.0

[root]# yum list installed | grep git
git.x86_64                     1.8.3.1-20.el7       @rhel-7-server-rpms
[root]# git --version
git version 1.8.3.1

[root]# gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

这最近失败了,就像今天一样。
2020-01-17T16_49_58_359Z-debug.log

question

最有用的评论

好的,我找到了现在有效的方法。
显然,当您将 npm 作为 sudo-ed 会话运行时,就会发生这种情况。
必须更改文件/文件夹的权限并以标准用户身份运行。

所有3条评论

此错误似乎不是由于 doccano 而是您的网络设置。 请首先确认您可以从 git 正确npm install

不是很清楚你的意思是 npm install from git。 你能详细说明一下吗? 你说的是什么网络设置?

我提到我可以毫无问题地运行以下命令

/usr/bin/git ls-remote -h -t ssh://[email protected]/seonim-ryu/Squire.git

但是,当它通过 npm 运行时就是失败的时候。 我不确定为什么这个特定的存储库像许多其他存储库一样使用 git(ssh 协议)链接而不是 https。

好的,我找到了现在有效的方法。
显然,当您将 npm 作为 sudo-ed 会话运行时,就会发生这种情况。
必须更改文件/文件夹的权限并以标准用户身份运行。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

fangd123 picture fangd123  ·  3评论

gika815 picture gika815  ·  3评论

johnmccain picture johnmccain  ·  4评论

cohen-ori picture cohen-ori  ·  4评论

zhangxieyang2 picture zhangxieyang2  ·  4评论