Ошибка расширения JupyterLab plotly: не удается найти модуль jupyterlabstagingnode_modulesejspostinstall.js

#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. Вы можете попробовать любой из приведенных ниже шагов, это может помочь

  1. Перейдите в каталог C:Usersanaconda3sharejupyterlabstaging и удалите node_module папку. После удаления папки попробуйте запустить команду yarn install из той же папки. Если ошибки нет, все должно быть хорошо.

  2. Если выше не работает, вы можете сбросить кэш yarn с помощью command yarn cache clean . И повторите шаг 1.

  3. Тем не менее, если это не сработает, попробуйте удалить 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 . Это сработало как шарм! Большое вам спасибо!