heroku上的nodejs提交node_modules文件路径太长

时间:2014-08-28 11:44:52

标签: node.js git heroku atlassian-sourcetree

我是nodejs和heroku的新手,我正在尝试部署我的第一个应用程序。

阅读此帖Should I check in node_modules to git when creating a node.js app on Heroku?后,最佳做法似乎是提交node_modules文件夹。

我的问题是我无法提交一些node_modules,因为文件路径似乎太长了,git无法管理。有没有其他人有这个问题?我使用SourceTree作为我的Git GUI并运行Windows 7.

我在sourcetree中遇到的错误是:

  

git -c diff.mnemonicprefix=false -c core.quotepath=false rm -q -f -- node_modules/gulp-concat/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.escape/node_modules/lodash._escapehtmlchar/node_modules/lodash._htmlescapes/index.js

     

fatal: pathspec 'node_modules/gulp-concat/node_modules/gulp-util/node_modules/lodash.template/node_modules/lodash.escape/node_modules/lodash._escapehtmlchar/node_modules/lodash._htmlescapes/index.js' did not match any files

由于

1 个答案:

答案 0 :(得分:0)

与帖子相反,我建议不要将node_modules提交到存储库中。

原因:

  1. 不同的平台可能会以不同的方式构建模块。可以在Windows上开发并推送到Linux服务器。

  2. 您可能在本地计算机上安装了一些全局模块。在这种情况下,它们不会安装在节点模块中。

  3. 有些模块仅在开发期间使用,但未在生产中使用。

  4. 如果您担心heroku的部署速度,请不要这样做。 Heroku缓存您使用的所有模块,并仅更新更改。

    无论哪种方式,您获得的错误都不是因为文件名太长。它或者是因为您尝试对未跟踪的文件执行某些操作。或者在不再存在的跟踪文件上。