#node.js #npm #plotly #ejs #jupyter-lab
#node.js #npm #plotly #ejs #jupyter-lab
Вопрос:
Я пытаюсь установить поддержку рендеринга JupyterLab для Plotly с помощью:
jupyter labextension install jupyterlab-plotly@4.10.0
и я получаю
Ошибка выполнения: не удалось установить зависимости npm
Файл журнала содержит следующее:
[LabBuildApp] Building in C:Users<user>anaconda3sharejupyterlab
[LabBuildApp] Node v14.11.0
[LabBuildApp] Yarn configuration loaded.
[LabBuildApp] Building jupyterlab assets (build:prod:minimize)
[LabBuildApp] > node C:Users<user>anaconda3libsite-packagesjupyterlabstagingyarn.js install --non-interactive
[LabBuildApp] yarn install v1.21.1
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
info fsevents@2.1.3: The platform "win32" is incompatible with this module.
info "fsevents@2.1.3" is an optional dependency and failed compatibility check. Excluding it from installation.
info fsevents@1.2.13: The platform "win32" is incompatible with this module.
info "fsevents@1.2.13" is an optional dependency and failed compatibility check. Excluding it from installation.
[4/5] Linking dependencies...
warning " > @lumino/coreutils@1.5.0" has unmet peer dependency "crypto@1.0.1".
[5/5] Building fresh packages...
error C:Users<user>anaconda3sharejupyterlabstagingnode_modulesejs: Command failed.
Exit code: 1
Command: node ./postinstall.js
Arguments:
Directory: C:Users<user>anaconda3sharejupyterlabstagingnode_modulesejs
Output:
internal/modules/cjs/loader.js:896
throw err;
^
Error: Cannot find module 'C:Users<user>anaconda3sharejupyterlabstagingnode_modulesejspostinstall.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:893:15)
at Function.Module._load (internal/modules/cjs/loader.js:743:27)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
at internal/main/run_main_module.js:17:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
[LabBuildApp] npm dependencies failed to install
[LabBuildApp] Traceback (most recent call last):
[LabBuildApp] File "C:Users<user>anaconda3libsite-packagesjupyterlabdebuglog.py", line 47, in debug_logging
yield
[LabBuildApp] File "C:Users<user>anaconda3libsite-packagesjupyterlablabapp.py", line 138, in start
raise e
[LabBuildApp] File "C:Users<user>anaconda3libsite-packagesjupyterlablabapp.py", line 134, in start
build(name=self.name, version=self.version,
[LabBuildApp] File "C:Users<user>anaconda3libsite-packagesjupyterlabcommands.py", line 459, in build
return handler.build(name=name, version=version, static_url=static_url,
[LabBuildApp] File "C:Users<user>anaconda3libsite-packagesjupyterlabcommands.py", line 652, in build
raise RuntimeError(msg)
[LabBuildApp] RuntimeError: npm dependencies failed to install
[LabBuildApp] Exiting application: JupyterLab
Когда я открываю JupyterLab, меня просят выполнить
jupyter lab build
После моей попытки я получаю ту же ошибку в файле журнала.
Я использую Windows10, node.js 14.11.0 (устанавливается с помощью conda), JupyterLab 2.1.5
Обратите внимание, что я пытался:
- удаление conda node.js и установка node.js непосредственно с узла-v12.18.3-x64.msi
- удаление и установка Anaconda
оба безуспешно.
Комментарии:
1. Что произойдет, если вы попытаетесь установить ejs самостоятельно
$ npm install ejs
?2. Я получаю то же самое, кажется, вам нужно установить его в существующий проект
3. @DavidBradshaw Не могли бы вы объяснить, что вы имеете в виду, пожалуйста?
4. Я имею в виду, что вы можете запускать npm install ejs только внутри существующего проекта узла, в котором есть файл package.json
5. Вы используете какой-либо прокси???
Ответ №1:
Это может быть проблема с брандмауэром.
Попробуйте установить прокси в npm
конфигурации или даже отключить strict-ssl
:
npm config set strict-ssl false
и
npm config set proxy http://host:port
для http
или
npm config set https-proxy https://host:port
для https
Комментарии:
1. Я не за прокси. Отключил strict-ssl, но ничего не изменилось : (
2. Извините, это не помогло.. Я постараюсь рассмотреть другие варианты.
Ответ №2:
Хорошо, я думаю, понимаю, почему это происходит, в версии 2 ejs
был скрипт после установки, но он был удален из версии 3. Похоже cjs
ejs/postInstall.js
, по какой-то причине другой пакет пытается напрямую вызвать.
Похоже, у вас не синхронизированы некоторые зависимости. Я бы посоветовал удалить node_modules
package-lock.json
и повторить попытку команды установки.
Если это не сработает, найдите любые другие файлы блокировки, например, yarn.lock
и удалите их и node_modules
снова.
Удачи
Комментарии:
1. если ничего из этого не работает, попробуйте удалить
ejs
изnode_modules
, а затем установитьejs@2.7
2. Я удалил node_modules и package-lock.json из C:users <пользователь> и запустите npm install ejs. Затем попытался установить расширение jupyterlab, но снова получил ту же ошибку. Я не смог найти ни одного yarn.lock. Наконец, я удалил ejs и запустил установку npm ejs@2.7 . Я снова получил ту же ошибку.
3. Вам нужно сделать это в C:Users <пользователь>anaconda3поделиться jupyter лаборатория постановка
Ответ №3:
Из вашего предыдущего комментария вы подтвердили, что не используете какой-либо прокси, что является одной из наиболее распространенных причин этих ошибок. Даже я пытался установить jupyter lab и расширение plotly, так как я тоже хотел попробовать, у меня это сработало без каких-либо ошибок.
Проблема может быть очень специфичной для вашей среды. И в основном из-за поврежденного пакета npm. Вы можете попробовать любой из приведенных ниже шагов, это может помочь
-
Перейдите в каталог
C:Usersanaconda3sharejupyterlabstaging
и удалитеnode_module
папку. После удаления папки попробуйте запустить командуyarn install
из той же папки. Если ошибки нет, все должно быть хорошо. -
Если выше не работает, вы можете сбросить кэш yarn с помощью command
yarn cache clean
. И повторите шаг 1. -
Тем не менее, если это не сработает, попробуйте удалить
yarn.lock
файл, затем выполните шаги 2 и 1.
Узел: Пожалуйста, сделайте резервную копию файлов, которые вы собираетесь удалить. Также нет способа определить, какой шаг будет работать для вас, просто нажмите и попробуйте.
Комментарии:
1. Я попробовал 1 и 2, и я получил всплывающее окно с заголовком: Windows Script Host: Script C:Users <пользователь>anaconda3sharejupyterlabstagingyarn.js . Строка: 1, символ: 1, Ошибка: недопустимый символ, код 800A03F6, Источник: ошибка компиляции Microsoft JScript. Я также попробовал шаг 3, но получил ту же ошибку. Обратите внимание, что первая строка yarn.js содержит: #!/usr/bin/env узел
2. Я решил удалить yarn.js а затем я переустановил его через classic.yarnpkg.com/en/docs/install/#windows-stable . Затем я повторил шаги 2 и 1. Я не получил ошибок и продолжил установку jupyter labextension jupyterlab-plotly@4.10.0 . Это сработало как шарм! Большое вам спасибо!