gpt4 book ai didi

javascript - 使用特定版本的 npm shrinkwrap

转载 作者:搜寻专家 更新时间:2023-10-31 23:48:40 25 4
gpt4 key购买 nike

我正在将我的 node.js 应用程序部署到 Appfog,但由于他们的安装脚本无法解析 npm-shrinkwrap.json,因此整个部署过程失败。

今天 shrinkwrap.json 中的示例依赖项如下所示

   "async": {
"version": "0.2.10",
"from": "async@0.2.10", <--- This line breaks install script at appfog
"resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz"
},

我检查了整个 shrinkwrap 文件并从每个依赖项声明中删除了“来自”部分,我设法上传了我的应用程序,并且它有效。

所以我的问题是,如何使用旧版本的 npm shrinkwrap 才能获得我需要的 shrinkwrap.json 版本?

Appfog 支持人员告诉我需要使用 1.1.21 版本,但我没有成功安装它。

请询问是否缺少某些信息。

最佳答案

如果你只想使用旧版本的 npm,你可以通过 npm 安装它(我知道这听起来很奇怪,但它是可能的)

npm install npm@1.1.21

编辑:所以你尝试安装一个不存在的 npm 版本。就跑

npm view npm

并查看属性 version,看看您可以通过 npm 安装哪些版本。

您会看到注册表中不存在 1.1.21,这意味着您应该尝试通过 github 安装它(请参阅@sakai 的回答)。

但是你会看到下一个问题。您正在使用 node@0.10.26,npm 1.1.21 可能与 node@0.10.x 不兼容。

所以我自己基本上看到了 2 种可能的解决方案:

解决方案一:

使用n (或者可能是 nvm 用于来回切换 Node 版本。您可以尝试安装 node@0.8.x 版本并尝试在那里安装 npm@1.1.21,完成收缩包装后切换回当前 Node 版本.

方案二

您可以设置某种 grunt/gulp-task(我希望您使用其中之一)来运行 grunt/gulp shrinkwrap,它会生成您的 shrinkwrap.json(通过 npm shrinkwrap)并在完成后清理您的 shrinkwrap.json

关于javascript - 使用特定版本的 npm shrinkwrap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23310092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com