Node.js 在Windows/Azure中重命名长路径时npm 3.x安装失败

Node.js 在Windows/Azure中重命名长路径时npm 3.x安装失败,node.js,azure,npm,azure-web-app-service,npm-install,Node.js,Azure,Npm,Azure Web App Service,Npm Install,部署node.js时,在Windows/Azure中重命名长路径时npm 3.x安装失败,原因是长路径: npm ERR! EINVAL: invalid argument, rename 'D:\home\site\wwwroot\node_modules\azure_util\node_modules\pkgcloud\node_modules\gcloud\node_modules\gapitoken\node_modules\jws\node_modules\base64url\node

部署node.js时,在Windows/Azure中重命名长路径时npm 3.x安装失败,原因是长路径:

npm ERR! EINVAL: invalid argument, rename 'D:\home\site\wwwroot\node_modules\azure_util\node_modules\pkgcloud\node_modules\gcloud\node_modules\gapitoken\node_modules\jws\node_modules\base64url\node_modules\meow\node_modules\indent-string\node_modules\repeating\node_modules\is-finite\node_modules\number-is-nan' -> 'D:\home\site\wwwroot\node_modules\number-is-nan'

有没有办法克服它或阻止npm重命名?

根据您的信息,您的自定义模块
azure\u util
是在npm中构建的我们找到了一个解决方案。似乎npm 3.x正在出现这种情况,只有当您从旧的npm升级时,它才需要重命名一条长路径

这意味着,由于我们已经使用较旧的npm运行了此部署,因此当我们升级到npm 3.6.0时,它试图扁平化现有部署并崩溃


解决方案只是删除节点模块并重新部署。

如果可以,升级到最新的节点,依赖关系将被展平,这样您就不会有无限的
节点模块树。
folder@ShanShan我确实升级了,这就是npm 3.x试图重命名文件夹以消除重复数据的问题,但如果失败,关于重命名…我的错,我读了nodejs 3.x(它甚至不存在)。你看到这个的包是什么<代码>azure_util似乎不存在于npm中。另外,当使用@davidebo azure_util手动运行npm时,您是否会得到相同的行为?@davidebo azure_util是我们的内部包,但即使我们将其删除,也会发生相同的问题。只要“数字为nan”的路径长于260,我们就会失败。我刚刚在工藤发现了一个问题:)我不确定我是否遵循了你的解决方案。azure_util只是一个具有依赖关系的模块。我们正在使用git中的“持续集成”部署到Azure。您的问题是
Azure_util
模块包含一些其他模块,这使得路径太长,因此当您利用“持续”部署到Azure时,it OS无法处理该文件。因此,您已将
azure_util
模块展开,其中没有嵌套的
节点_模块
文件夹。然后我想我会解决这个问题。我怎样才能扁平化我所依赖的外部模块呢?
azure_util
是否有
project.json
文件和
node_modules
文件夹?您可以在
azure_util
中运行
npm重复数据消除
,或者删除
node_modules
文件夹并运行
npm安装
。Keep npm版本高达3。我也遇到了类似的问题,但我的bitbucket repo已经完全忽略了node_modules文件夹。仍然在Azure部署任务上获取错误