При установке модуля webdriverio с помощью npm я получаю следующую ошибку:
sudo npm install webdriverio
[sudo] password for username:
npm WARN package.json [email protected] No repository field.
npm http GET https://registry.npmjs.org/webdriverio
npm http 304 https://registry.npmjs.org/webdriverio
npm WARN engine [email protected]: wanted: {"node":">= 4.8.5"} (current: {"node":"v0.10.15","npm":"1.3.5"})
npm http GET https://registry.npmjs.org/grapheme-splitter
npm http GET https://registry.npmjs.org/css-value
npm http GET https://registry.npmjs.org/lodash.merge
npm http GET https://registry.npmjs.org/lodash.zip
npm http GET https://registry.npmjs.org/rgb2hex
npm http GET https://registry.npmjs.org/serialize-error
npm http GET https://registry.npmjs.org/webdriver
npm http GET https://registry.npmjs.org/wdio/logger
npm http GET https://registry.npmjs.org/wdio/config
npm http GET https://registry.npmjs.org/wdio/repl
npm http 304 https://registry.npmjs.org/css-value
npm ERR! Error: No compatible version found: css-value@'^0.0.1'
npm ERR! Valid install targets:
npm ERR! ["0.0.1"]
npm ERR! at installTargetsError (/usr/local/lib/node_modules/npm/lib/cache.js:719:10)
npm ERR! at /usr/local/lib/node_modules/npm/lib/cache.js:638:10
npm ERR! at saved (/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/get.js:142:7)
npm ERR! at /usr/local/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:133:7
npm ERR! at Object.oncomplete (fs.js:107:15)
npm ERR! If you need help, you may report this log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <[email protected]>
npm ERR! System Linux 4.15.0-43-generic
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "webdriverio"
npm ERR! cwd /home/username/research
npm ERR! node -v v0.10.15
npm ERR! npm -v 1.3.5
npm http 304 https://registry.npmjs.org/lodash.merge
npm http 304 https://registry.npmjs.org/serialize-error
npm http 304 https://registry.npmjs.org/lodash.zip
npm http 304 https://registry.npmjs.org/grapheme-splitter
npm http 304 https://registry.npmjs.org/webdriver
npm http 304 https://registry.npmjs.org/rgb2hex
npm http 405 https://registry.npmjs.org/wdio/repl
npm ERR! TypeError: Object.keys called on non-object
npm ERR! at Function.keys (native)
npm ERR! at installTargetsError (/usr/local/lib/node_modules/npm/lib/cache.js:708:24)
npm ERR! at /usr/local/lib/node_modules/npm/lib/cache.js:638:10
npm ERR! at saved (/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/get.js:142:7)
npm ERR! at /usr/local/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:133:7
npm ERR! at Object.oncomplete (fs.js:107:15)
npm ERR! If you need help, you may report this log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <[email protected]>
npm ERR! System Linux 4.15.0-43-generic
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "webdriverio"
npm ERR! cwd /home/username/research
npm ERR! node -v v0.10.15
npm ERR! npm -v 1.3.5
npm ERR! type called_on_non_object
npm http 405 https://registry.npmjs.org/wdio/logger
npm ERR! TypeError: Object.keys called on non-object
npm ERR! at Function.keys (native)
npm ERR! at installTargetsError (/usr/local/lib/node_modules/npm/lib/cache.js:708:24)
npm ERR! at /usr/local/lib/node_modules/npm/lib/cache.js:638:10
npm ERR! at saved (/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/get.js:142:7)
npm ERR! at /usr/local/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:133:7
npm ERR! at Object.oncomplete (fs.js:107:15)
npm ERR! If you need help, you may report this log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <[email protected]>
npm ERR! System Linux 4.15.0-43-generic
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "webdriverio"
npm ERR! cwd /home/username/research
npm ERR! node -v v0.10.15
npm ERR! npm -v 1.3.5
npm ERR! type called_on_non_object
npm http 405 https://registry.npmjs.org/wdio/config
npm ERR! TypeError: Object.keys called on non-object
npm ERR! at Function.keys (native)
npm ERR! at installTargetsError (/usr/local/lib/node_modules/npm/lib/cache.js:708:24)
npm ERR! at /usr/local/lib/node_modules/npm/lib/cache.js:638:10
npm ERR! at saved (/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/get.js:142:7)
npm ERR! at /usr/local/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:133:7
npm ERR! at Object.oncomplete (fs.js:107:15)
npm ERR! If you need help, you may report this log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <[email protected]>
npm ERR! System Linux 4.15.0-43-generic
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "webdriverio"
npm ERR! cwd /home/username/research
npm ERR! node -v v0.10.15
npm ERR! npm -v 1.3.5
npm ERR! type called_on_non_object
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/username/research/npm-debug.log
npm ERR! not ok code 0
Может ли кто-нибудь помочь с этим? Я не понимаю, почему это происходит, так как, когда я делаю npm info loadash.merge, версия модуля явно присутствует. Я также попытался посмотреть, что содержит мой $NODE_PATH (как предполагают некоторые ответы на stackoverflow), и, похоже, он указывает на правильный путь node или, по крайней мере, путь, по которому nvm установил node:
/home/username/.nvm/versions/node/v10.15.1/bin/node
Кроме того, я не уверен в этом конкретном предупреждении:
npm WARN engine [email protected]: wanted: {"node":">= 4.8.5"} (current: {"node":"v0.10.15","npm":"1.3.5"}) Моя версия узла — 10.15.1, а не 0.10.15.





Я думаю, что вам не хватает библиотеки значений css на основе этой части трассировки стека:
npm ERR! Error: No compatible version found: css-value@'^0.0.1'
Попробуйте решить эту проблему, выполнив: npm i css-value
Кроме того, ваша трассировка стека жалуется на использование устаревшей версии Node. Я бы подумал об обновлении узла, так как ваша версия очень старая:
npm WARN engine [email protected]: wanted: {"node":">= 4.8.5"} (current: {"node":"v0.10.15","npm":"1.3.5"})
Правильно ли установлены эти зависимости? Может быть, ваша переменная пути установлена на другую версию узла?
Точно сказать не могу. Появляется предупреждение о unmet dependency, а затем эти ошибки: npm ERR! node -v v0.10.15npm ERR! npm -v 1.3.5npm ERR! code EPEERINVALIDnpm ERR!
Я добавил путь, сделав это: echo PATH = "$PATH:what node", но он все еще выдает ошибки.
Ваша проблема, вероятно, связана с использованием sudo в установке npm. Вы можете проверить это с помощью sudo node -v, и он, вероятно, даст вам версию узла, отличную от версии, установленной на вашем nvm, это будет означать, что узел на вашем сервере в некоторых местах сломан из-за какой-то предыдущей установки. Чтобы обойти это, я предлагаю следующее, что помогло мне решить аналогичные проблемы.
sudo su
nvm alias default 10.15.1
npm cache clean --force
npm install webdriverio
Если он по-прежнему выдает синтаксические ошибки из-за зависимостей, используйте
npm install webdriverio --unsafe-perm
Спасибо за ответ! Я пытался сделать
npm i css-value, но он дает огромное количество других зависимостей. Кроме того, когда я делаюnode -v, он дает мнеv10.15.1, который должен быть одной из более новых версий, я не уверен, почему он читает его как другую версию.