记一次开发 pgadmin 时执行 Building the Web Assets 遇到的依赖安装问题

环境:

  • centos 7

问题描述:

项目的 package.json 的 dependencies 中有这样一个依赖:

"react-data-grid": "git+https://github.com/adityatoshniwal/react-data-grid.git/#1dc310dfaf5afea359404e867b7cf54953f47d1e",

按照 README.md 中 Building the Web Assets 在执行 make install-node 的时候报错如下:

(venv) [dangfulin@datanode pgadmin4]$ make install-node
cd web && yarn install
yarn install v1.22.19
[1/4] Resolving packages...
[2/4] Fetching packages...
error Command failed.
Exit code: 128
Command: git
Arguments: ls-remote --tags --heads https://github.com/adityatoshniwal/react-data-grid.git/
Directory: /home/dangfulin/project/pgadmin4/web
Output:
fatal: 无法访问 'https://github.com/adityatoshniwal/react-data-grid.git/':Encountered end of file
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
make: *** [install-node] 错误 128

解决过程:

一,尝试从网络角度解决

1,查看是否能 ping 通 github

$ ping github.com
PING github.com (20.205.243.166) 56(84) bytes of data.
^C
--- github.com ping statistics ---
20 packets transmitted, 0 received, 100% packet loss, time 19001ms
  • 100% 丢包,完全不通,但 ping baidu.com 是没有问题的。

2,查询 github IP
访问 IPAddress.com 查询到 github 最新 IP 为 140.82.114.3
记一次开发 pgadmin 时执行 Building the Web Assets 遇到的依赖安装问题_第1张图片
ping 一下,能通:

$ ping 140.82.114.3
PING 140.82.114.3 (140.82.114.3) 56(84) bytes of data.
64 bytes from 140.82.114.3: icmp_seq=1 ttl=44 time=281 ms
64 bytes from 140.82.114.3: icmp_seq=2 ttl=44 time=281 ms
64 bytes from 140.82.114.3: icmp_seq=3 ttl=44 time=281 ms
64 bytes from 140.82.114.3: icmp_seq=4 ttl=44 time=281 ms
64 bytes from 140.82.114.3: icmp_seq=5 ttl=44 time=281 ms
64 bytes from 140.82.114.3: icmp_seq=6 ttl=44 time=281 ms
64 bytes from 140.82.114.3: icmp_seq=7 ttl=44 time=281 ms
64 bytes from 140.82.114.3: icmp_seq=8 ttl=44 time=281 ms
64 bytes from 140.82.114.3: icmp_seq=9 ttl=44 time=281 ms
64 bytes from 140.82.114.3: icmp_seq=10 ttl=44 time=281 ms
64 bytes from 140.82.114.3: icmp_seq=11 ttl=44 time=281 ms
64 bytes from 140.82.114.3: icmp_seq=12 ttl=44 time=281 ms
64 bytes from 140.82.114.3: icmp_seq=13 ttl=44 time=281 ms
64 bytes from 140.82.114.3: icmp_seq=14 ttl=44 time=281 ms
64 bytes from 140.82.114.3: icmp_seq=15 ttl=44 time=281 ms
64 bytes from 140.82.114.3: icmp_seq=16 ttl=44 time=281 ms
64 bytes from 140.82.114.3: icmp_seq=17 ttl=44 time=281 ms
64 bytes from 140.82.114.3: icmp_seq=18 ttl=44 time=281 ms
64 bytes from 140.82.114.3: icmp_seq=19 ttl=44 time=281 ms
64 bytes from 140.82.114.3: icmp_seq=20 ttl=44 time=281 ms
64 bytes from 140.82.114.3: icmp_seq=21 ttl=44 time=281 ms
64 bytes from 140.82.114.3: icmp_seq=22 ttl=44 time=281 ms
64 bytes from 140.82.114.3: icmp_seq=23 ttl=44 time=281 ms
64 bytes from 140.82.114.3: icmp_seq=24 ttl=44 time=281 ms
64 bytes from 140.82.114.3: icmp_seq=25 ttl=44 time=281 ms
^C
--- 140.82.114.3 ping statistics ---
25 packets transmitted, 25 received, 0% packet loss, time 24008ms
rtt min/avg/max/mdev = 281.373/281.514/281.787/0.100 ms

3,修改 hosts 文件
打开 /etc/hosts 文件添加地址映射:

140.82.114.3 github.com

4,刷新 DNS

$ yum install -y nscd
$ systemctl restart nscd

5,重启网络

$ systemctl restart network

6,再次 ping github,就能通了

$ ping github.com
PING github.com (140.82.114.3) 56(84) bytes of data.
64 bytes from github.com (140.82.114.3): icmp_seq=1 ttl=44 time=281 ms
64 bytes from github.com (140.82.114.3): icmp_seq=2 ttl=44 time=281 ms
64 bytes from github.com (140.82.114.3): icmp_seq=3 ttl=44 time=281 ms
64 bytes from github.com (140.82.114.3): icmp_seq=4 ttl=44 time=281 ms
64 bytes from github.com (140.82.114.3): icmp_seq=5 ttl=44 time=281 ms
64 bytes from github.com (140.82.114.3): icmp_seq=6 ttl=44 time=281 ms
64 bytes from github.com (140.82.114.3): icmp_seq=7 ttl=44 time=281 ms
64 bytes from github.com (140.82.114.3): icmp_seq=8 ttl=44 time=281 ms
^C
--- github.com ping statistics ---
8 packets transmitted, 8 received, 0% packet loss, time 7009ms
rtt min/avg/max/mdev = 281.438/281.574/281.797/0.547 ms

但实际上这解决不了问题

二,直接 yarn 安装指定的依赖

还是不行:

(venv) [dangfulin@datanode pgadmin4]$ yarn install https://github.com/adityatoshniwal/react-data-grid.git/#1dc310dfaf5afea359404e867b7cf54953f47d1e
yarn install v1.22.19
error `install` has been replaced with `add` to add new dependencies. Run "yarn add https://github.com/adityatoshniwal/react-data-grid.git/#1dc310dfaf5afea359404e867b7cf54953f47d1e" instead.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
(venv) [dangfulin@datanode1 web]$ yarn add https://github.com/adityatoshniwal/react-data-grid.git/#1dc310dfaf5afea359404e867b7cf54953f47d1e
yarn add v1.22.19
[1/4] Resolving packages...
⠂ https://github.com/adityatoshniwal/react-data-grid.git/#1dc310dfaf5afea359404e867b7cf54953f47d1e 
^C

3,用 yarn install 替换 make install-node

根据文档 README.md 的说法,我直接进入 web 目录下执行 yarn install,能成功:

(venv) [dangfulin@datanode pgadmin4]$ cd web && yarn install
yarn install v1.22.19
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning " > @material-ui/[email protected]" has incorrect peer dependency "react@^16.8.0".
warning " > @material-ui/[email protected]" has incorrect peer dependency "react-dom@^16.8.0".
warning "@projectstorm/react-diagrams > @projectstorm/[email protected]" has incorrect peer dependency "@emotion/styled@^11.*".
warning " > [email protected]" has unmet peer dependency "aspen-core@^1.0.4".
warning " > [email protected]" has incorrect peer dependency "react@^16.0.0".
warning " > [email protected]" has incorrect peer dependency "react-dom@^16.0.0".
warning " > [email protected]" has incorrect peer dependency "react@^16.0.0".
warning " > [email protected]" has incorrect peer dependency "react-dom@^16.0.0".
warning " > [email protected]" has unmet peer dependency "eve@~0.5.1".
warning " > [email protected]" has unmet peer dependency "react-is@>= 16.8.0".
warning " > [email protected]" has incorrect peer dependency "[email protected]".
warning " > [email protected]" has incorrect peer dependency "webpack@^3.0.0 || ^4.0.0".
warning "@wojtekmaj/enzyme-adapter-react-17 > [email protected]" has incorrect peer dependency "[email protected] || 0.14.x || ^15.0.0-0 || ^16.0.0-0".
warning "@wojtekmaj/enzyme-adapter-react-17 > enzyme-adapter-utils > [email protected]" has incorrect peer dependency "react@^0.14 || ^15.0.0 || ^16.0.0-alpha".
warning " > [email protected]" has incorrect peer dependency "webpack@^2.0.0 || ^3.0.0 || ^4.0.0".
warning " > [email protected]" has unmet peer dependency "watchify@>=3 <5".
warning " > [email protected]" has unmet peer dependency "requirejs@^2.1.0".
warning " > [email protected]" has incorrect peer dependency "svgo@^1.0.0".
[4/4] Building fresh packages...
Done in 71.87s.

(venv) [dangfulin@datanode pgadmin4]$ cd .. && make install-node
cd web && yarn install
yarn install v1.22.19
[1/4] Resolving packages...
success Already up-to-date.
Done in 0.41s.

已经成了。

然后执行 make bundle 就没有问题了:

(venv) [dangfulin@datanode pgadmin4]$ make bundle
cd web && yarn run bundle
yarn run v1.22.19
$ cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=8192 yarn run bundle:dev
$ yarn run linter && yarn run webpacker
$ yarn eslint --no-eslintrc -c .eslintrc.js --ext .js  --ext .jsx .
$ /home/dangfulin/project/pgadmin4/web/node_modules/.bin/eslint --no-eslintrc -c .eslintrc.js --ext .js --ext .jsx .
$ yarn run webpack --config webpack.config.js --progress
$ /home/dangfulin/project/pgadmin4/web/node_modules/.bin/webpack --config webpack.config.js --progress
......
WARNING in webpack performance recommendations: 
You can limit the size of your bundles by using import() or require.ensure to lazy load some parts of your application.
For more info visit https://webpack.js.org/guides/code-splitting/

webpack 5.61.0 compiled with 3 warnings in 26894 ms
Done in 96.62s.

你可能感兴趣的:(postgreSQL,pgadmin4)