我正在尝试获取使用 jupyterlab v1.1.4 打包的所有依赖项的列表。我认为我可以通过python3 -m venv .envpip install jupyterlab==1.1.4pip freeze但我不知道如何为 javascript 依赖项执行此操作。我对js了解不多。似乎此信息可能位于 yarn.lock 文件之一中。但我不确定我是想要主目录中的 yarn.lock 文件还是 /jupyterlab/staging/ 中的文件。我认为它可能是分段的原因,它要短得多,因为CONTRIBUTING.md说:默认情况下,应用程序将从 JupyterLab 暂存目录加载(默认为<sys-prefix>/share/jupyter/lab/build。如果您希望在 中运行核心应用程序<git root>/jupyterlab/build,请运行jupyter lab --core-mode。这是将交付的核心应用程序。但问题是,一旦我确定了正确的 yarn.lock 文件,我该如何删除 dev 依赖项?我看到在/jupyterlab/staging/package.json中有一个用于开发依赖项的部分,并且这些似乎包含在 yarn.lock 文件中。package.json 的依赖项部分中的所有内容都以@jupyterlab. 这是否意味着我可以过滤 yarn.lock 以仅保留本节中的块?所以我会保留所有这些依赖项"@jupyterlab/coreutils@^3.1.0", "@jupyterlab/coreutils@~3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@jupyterlab/coreutils/-/coreutils-3.1.0.tgz#b307569462c468d6a09dfa06f32fed03e55dd811" integrity sha512-ZqgzDUyanyvc86gtCrIbc1M6iniKHYmWNWHvWOcnq3KIP3wk3grchsTYPTfQDxcUS6F04baPGp/KohEU2ml40Q== dependencies: "@phosphor/commands" "^1.6.3" "@phosphor/coreutils" "^1.3.1" "@phosphor/disposable" "^1.2.0" "@phosphor/properties" "^1.1.3" "@phosphor/signaling" "^1.2.3" ajv "^6.5.5" json5 "^2.1.0" minimist "~1.2.0" moment "^2.24.0" path-posix "~1.0.0" url-parse "~1.4.3"因为 (@jupyterlab/coreutils)[ https://github.com/jupyterlab/jupyterlab/blob/v1.1.4/jupyterlab/staging/package.json#L24]在依赖项部分,但我可以排除glob@^7.1.3, glob@^7.1.4, glob@~7.1.2: version "7.1.4" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" minimatch "^3.0.4" once "^1.3.0" path-is-absolute "^1.0.0"因为 glob 仅在开发依赖项中?但是,如果 glob 是非开发依赖项之一的依赖项,会发生什么?在那种情况下,我仍然想保留 glob 和所有 iot 的依赖项。最后,决议部分是否暗示我可能需要将同一个库的多个版本视为打包的最终依赖项?他们的一些过滤器yarn list可能会给我我想要的列表吗?
1 回答
当年话下
TA贡献1890条经验 获得超9个赞
yarn list --prod只会为您提供 JupyterLab 附带的生产依赖项。该resolutions部分实际上覆盖了包版本——它用于确保只安装给定包的一个版本。列出依赖项的 Yarn 实用程序会理解这一点,因此只要您使用 Yarn,您就不必担心它。
请注意,JupyterLab 附带了许多通常可能被视为开发依赖项的依赖项——这是因为它需要在最终用户机器上包含 Webpack 和相关工具以支持扩展。
添加回答
举报
0/150
提交
取消
