.ebignore文件无法跳过node_modules文件夹(亚马逊)。

3
当我尝试运行eb create(Windows)时,我遇到了以下错误:
ERROR: FileNotFoundError :: [WinError 3] The system cannot find the path specified: './website\\frontend\\node_modules\\gulp-sass\\node_modules\\node-sass\\node_modules\\sass-graph\\node_modules\\yargs\\node_modules\\read-pkg-up\\node_modules\\read-pkg\\node_modules\\normalize-package-data\\node_modules\\is-builtin-module\\node_modules'

我的.ebignore文件看起来是这样的,并且适用于大部分文件。
# Project Files
webiste/static/
env/
.idea/
node_modules/

如果我运行eb create --verbose,我会得到以下输出:(在成功跳过我的env文件夹后)
INFO:   -skipping: ./website\frontend\node_modules\gulp-sass\node_modules\node-sass\node_modules\sass-graph\node_modules\yargs\node_modules\read-pkg-up\node_modules\read-pkg\node_modules\normalize-package-data\node_modules\hosted-git-info\LICENSE
INFO:   -skipping: ./website\frontend\node_modules\gulp-sass\node_modules\node-sass\node_modules\sass-graph\node_modules\yargs\node_modules\read-pkg-up\node_modules\read-pkg\node_modules\normalize-package-data\node_modules\hosted-git-info\package.json
INFO:   -skipping: ./website\frontend\node_modules\gulp-sass\node_modules\node-sass\node_modules\sass-graph\node_modules\yargs\node_modules\read-pkg-up\node_modules\read-pkg\node_modules\normalize-package-data\node_modules\hosted-git-info\README.md
INFO:   -skipping: ./website\frontend\node_modules\gulp-sass\node_modules\node-sass\node_modules\sass-graph\node_modules\yargs\node_modules\read-pkg-up\node_modules\read-pkg\node_modules\normalize-package-data\node_modules\is-builtin-module\index.js
INFO:   -skipping: ./website\frontend\node_modules\gulp-sass\node_modules\node-sass\node_modules\sass-graph\node_modules\yargs\node_modules\read-pkg-up\node_modules\read-pkg\node_modules\normalize-package-data\node_modules\is-builtin-module\license
INFO:  +adding: ./website\frontend\node_modules\gulp-sass\node_modules\node-sass\node_modules\sass-graph\node_modules\yargs\node_modules\read-pkg-up\node_modules\read-pkg\node_modules\normalize-package-data\node_modules\is-builtin-module/
INFO:   +adding: ./website\frontend\node_modules\gulp-sass\node_modules\node-sass\node_modules\sass-graph\node_modules\yargs\node_modules\read-pkg-up\node_modules\read-pkg\node_modules\normalize-package-data\node_modules\is-builtin-module\node_modules
INFO: Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\ebcli\core\ebrun.py", line 45, in run_app
    app.run()
  File "C:\Python34\lib\site-packages\cement\core\foundation.py", line 797, in run
    return_val = self.controller._dispatch()
  File "C:\Python34\lib\site-packages\cement\core\controller.py", line 472, in _dispatch
    return func()
  File "C:\Python34\lib\site-packages\cement\core\controller.py", line 478, in _dispatch
    return func()
  File "C:\Python34\lib\site-packages\ebcli\core\abstractcontroller.py", line 60, in default
    self.do_command()
  File "C:\Python34\lib\site-packages\ebcli\controllers\create.py", line 265, in do_command
    source=source)
  File "C:\Python34\lib\site-packages\ebcli\operations\createops.py", line 75, in make_new_env
    build_config=build_config)
  File "C:\Python34\lib\site-packages\ebcli\operations\commonops.py", line 867, in create_app_version
    version_label, source_control, staged=staged)
  File "C:\Python34\lib\site-packages\ebcli\operations\commonops.py", line 1054, in _zip_up_project
    fileoperations.zip_up_project(file_path, ignore_list=ignore_files)
  File "C:\Python34\lib\site-packages\ebcli\core\fileoperations.py", line 436, in zip_up_project
    zip_up_folder('./', location, ignore_list=ignore_list)
  File "C:\Python34\lib\site-packages\ebcli\core\fileoperations.py", line 423, in zip_up_folder
    _zipdir('./', zipf, ignore_list=ignore_list)
  File "C:\Python34\lib\site-packages\ebcli\core\fileoperations.py", line 493, in _zipdir
    zipf.write(cur_file)
  File "C:\Python34\lib\zipfile.py", line 1322, in write
    st = os.stat(filename)
FileNotFoundError: [WinError 3] The system cannot find the path specified: './website\\frontend\\node_modules\\gulp-sass\\node_modules\\node-sass\\node_modules\\sass-graph\\node_modules\\yargs\\node_modules\\read-pkg-up\\node_modules\\read-pkg\\node_modules\\normalize-package-data\\node_modules\\is-builtin-module\\node_modules'

我不知道为什么它突然想要开始添加,即使跳过了数十个node_modules文件。
编辑:我还尝试了各种格式,例如/node_modules、\node_modules、node_modules\、node_modules/**/、node_modules/等。
2个回答

11
我的建议是先将 .ebignore 设置为忽略所有文件,然后再加入需要的目录和文件。
我曾经遇到过同样的问题,但在我将 node_modules 加入到 .ebignore 文件的末尾后,问题得以解决。
# Ignore everything
*

# Except  
!bin/
!dist/
!whatever/
!Dockerrun.aws.json
!package.json

# Ignore node_modules
node_modules

1
忽略 node_modules 在末尾生效的解释是什么,与在开头进行相比有何不同?它可以工作,只是想知道为什么。 - Evandro Pomatti
@EvandroPomatti 很好的问题,但我不记得确切的原因了。也许与捆绑包的创建方式有关,正如文档第三段所述:“当存在 .ebignore 文件时,EB CLI 不使用 git 命令来创建您的源代码捆绑包。” - im.pankratov

-3

我通过放弃 .ebignore 文件并在其中初始化一个新的 git 仓库来解决了这个问题。然后我将我的 .ebignore 文件更名为 .gitignore(并删除了 .ebignore 文件)。现在我没有错误,并且文件被正确地跳过。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接