ray-project / ray

Ray is an AI compute engine. Ray consists of a core distributed runtime and a set of AI Libraries for accelerating ML workloads.
https://ray.io
Apache License 2.0
33.99k stars 5.78k forks source link

[BUG] Ray dashboard client failed to build #23548

Open goswamig opened 2 years ago

goswamig commented 2 years ago

Search before asking

Ray Component

Dashboard

Issue Severity

High: It blocks me to complete my task.

What happened + What you expected to happen

I tried to build the ray from source by following the official instruction from here.

The build for dashboard client failed with following error.

$ npm install
npm WARN deprecated @types/classnames@2.3.1: This is a stub types definition. classnames provides its own type definitions, so you do not need this installed.
npm WARN deprecated @material-ui/icons@4.11.2: You can now upgrade to @mui/icons. See the guide: https://mui.com/guides/migration-v4/
npm WARN deprecated @material-ui/lab@4.0.0-alpha.56: You can now upgrade to @mui/lab. See the guide: https://mui.com/guides/migration-v4/
npm WARN deprecated @material-ui/core@4.11.0: You can now upgrade to @mui/material. See the guide: https://mui.com/guides/migration-v4/
loadDep:use-debounce → ad ▌ ╢██████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
npm WARN deprecated @material-ui/system@4.12.1: You can now upgrade to @mui/system. See the guide: https://mui.com/guides/migration-v4/
npm WARN deprecated @material-ui/styles@4.11.4: You can now upgrade to @mui/styles. See the guide: https://mui.com/guides/migration-v4/
loadDep:fsevents → resolv ▄ ╢█████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
WARN engine @svgr/webpack@5.5.0: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine @pmmmwh/react-refresh-webpack-plugin@0.4.3: wanted: {"node":">= 10.x"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine file-loader@6.1.1: wanted: {"node":">= 10.13.0"} (current: {"node":"8.10.0","npm":"3.5.2"})
loadDep:fsevents → resolv ▐ ╢█████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
WARN engine eslint-webpack-plugin@2.6.0: wanted: {"node":">= 10.13.0"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine camelcase@6.3.0: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine css-loader@4.3.0: wanted: {"node":">= 10.13.0"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine eslint-plugin-flowtype@5.10.0: wanted: {"node":"^10.12.0 || >=12.0.0"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine jest-watch-typeahead@0.6.1: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine babel-jest@26.6.3: wanted: {"node":">= 10.14.2"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine jest-resolve@26.6.0: wanted: {"node":">= 10.14.2"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine eslint-plugin-jest@24.7.0: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine fs-extra@9.1.0: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine eslint-plugin-testing-library@3.10.2: wanted: {"node":"^10.12.0 || >=12.0.0","npm":">=6"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine eslint-config-react-app@6.0.0: wanted: {"node":"^10.12.0 || >=12.0.0"} (current: {"node":"8.10.0","npm":"3.5.2"})
loadDep:fsevents → resolv ▌ ╢█████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
WARN engine react-dev-utils@11.0.4: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
loadDep:fsevents → cache  ▌ ╢█████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
WARN engine postcss-safe-parser@5.0.2: wanted: {"node":">=10.0"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine terser-webpack-plugin@4.2.3: wanted: {"node":">= 10.13.0"} (current: {"node":"8.10.0","npm":"3.5.2"})
loadDep:fsevents → resolv ▐ ╢█████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
WARN engine @typescript-eslint/parser@4.33.0: wanted: {"node":"^10.12.0 || >=12.0.0"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine eslint-plugin-react-hooks@4.3.0: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine url-loader@4.1.1: wanted: {"node":">= 10.13.0"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine jest-circus@26.6.0: wanted: {"node":">= 10.14.2"} (current: {"node":"8.10.0","npm":"3.5.2"})
npm WARN deprecated babel-eslint@10.1.0: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.
loadDep:fsevents → get    ▌ ╢█████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
loadDep:fsevents → resolv ▐ ╢█████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
npm WARN deprecated querystring@0.2.1: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
loadDep:loader-utils → re ▀ ╢█████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
WARN engine @svgr/plugin-svgo@5.5.0: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
loadDep:loader-utils → ca ▐ ╢█████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
loadDep:cosmiconfig → req ▐ ╢█████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
loadDep:svg-parser → get  ▀ ╢█████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
WARN engine @svgr/babel-preset@5.5.0: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
loadDep:@svgr/babel-plugi ▄ ╢█████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
WARN engine @svgr/babel-plugin-add-jsx-attribute@5.4.0: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine @svgr/babel-plugin-svg-em-dimensions@5.4.0: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine @svgr/babel-plugin-remove-jsx-empty-expression@5.0.1: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine @svgr/babel-plugin-transform-svg-component@5.5.0: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine @svgr/babel-plugin-remove-jsx-attribute@5.4.0: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine @svgr/babel-plugin-transform-react-native-svg@5.4.0: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine @svgr/babel-plugin-replace-jsx-attribute-value@5.0.1: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
npm ERR! Linux 5.4.0-1066-aws
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install"
npm ERR! node v8.10.0
npm ERR! npm  v3.5.2
npm ERR! code EMISSINGARG

npm ERR! typeerror Error: Missing required argument #1
npm ERR! typeerror     at andLogAndFinish (/usr/share/npm/lib/fetch-package-metadata.js:31:3)
npm ERR! typeerror     at fetchPackageMetadata (/usr/share/npm/lib/fetch-package-metadata.js:51:22)
npm ERR! typeerror     at resolveWithNewModule (/usr/share/npm/lib/install/deps.js:456:12)
npm ERR! typeerror     at /usr/share/npm/lib/install/deps.js:457:7
npm ERR! typeerror     at /usr/share/npm/node_modules/iferr/index.js:13:50
npm ERR! typeerror     at /usr/share/npm/lib/fetch-package-metadata.js:37:12
npm ERR! typeerror     at addRequestedAndFinish (/usr/share/npm/lib/fetch-package-metadata.js:82:5)
npm ERR! typeerror     at returnAndAddMetadata (/usr/share/npm/lib/fetch-package-metadata.js:117:7)
npm ERR! typeerror     at pickVersionFromRegistryDocument (/usr/share/npm/lib/fetch-package-metadata.js:134:20)
npm ERR! typeerror     at /usr/share/npm/node_modules/iferr/index.js:13:50
npm ERR! typeerror This is an error with npm itself. Please report this error at:
npm ERR! typeerror     <http://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     /home/ubuntu/ray_build/ray/dashboard/client/npm-debug.log

Versions / Dependencies

Ray version: V-1.11.0, master OS: Linux ubuntu 18.04 Build type: Full

Reproduction script

sudo apt-get update
sudo apt-get install -y build-essential curl unzip psmisc

pip install cython==0.29.26 pytest

git clone https://github.com/ray-project/ray.git

# Install Bazel.
ray/ci/travis/install-bazel.sh
# (Windows users: please manually place Bazel in your PATH, and point
# BAZEL_SH to MSYS2's Bash: ``set BAZEL_SH=C:\Program Files\Git\bin\bash.exe``)

# Build the dashboard
# (requires Node.js, see https://nodejs.org/ for more information).
pushd ray/dashboard/client
npm install          <<<<<<<< This is where it breaks
npm run build
popd

# Install Ray.
cd ray/python
pip install -e . --verbose  # Add --user if you see a permission denied error.

Anything else

ubuntu@ip-172-31-79-148:~/ray_build/ray/dashboard/client$ which node
/usr/bin/node
ubuntu@ip-172-31-79-148:~/ray_build/ray/dashboard/client$ which npm
/usr/bin/npm
ubuntu@ip-172-31-79-148:~/ray_build/ray/dashboard/client$ npm --version
3.5.2
ubuntu@ip-172-31-79-148:~/ray_build/ray/dashboard/client$ node --version 
v8.10.0

Are you willing to submit a PR?

goswamig commented 2 years ago

npm-debug.log

scottsun94 commented 2 years ago

@goswamig Are you still running into the same issue if you switch to 2.0?