【问题标题】:Why does Yeoman generator not work when installed through npm?为什么通过 npm 安装 Yeoman 生成器不起作用?
【发布时间】:2014-10-11 20:42:22
【问题描述】:

代码

背景

我已经构建了一个在本地完美运行的 Yeoman 生成器(在从 GitHub 克隆存储库后使用 npm link)。然而,当我 npm publish 生成器到 npm 并通过 npm install -g generator-code-deck 安装它时,运行生成器会抛出 no such file or directorycannot find module 错误:

这些错误对我来说没有意义,因为 1. 文件和文件夹显然存在(如屏幕截图中的涂鸦所示)和 2. 生成器通过指向本地 repo 的符号链接工作;为什么 npm 包应该有所不同?

我一直在网上寻找答案,但找不到任何东西。 有谁知道为什么在尝试通过 npm 安装而不是通过符号链接安装时会发生这些错误?有谁知道如何解决这个问题,以便我可以发布 Yeoman 生成器的官方 npm 版本?任何帮助将不胜感激!

【问题讨论】:

    标签: github npm yeoman symlink


    【解决方案1】:

    您可能没有将所有文件发布到 npm。

    这可能是由.npmignore 文件或package.jsonfiles 键引起的。

    【讨论】:

    • 有一个空的.npmignore 文件,所以我删除它只是为了检查。 files 键(在package.json 中)只列出了generators 文件夹,这就是所需要的……所以我认为这不是问题。但是,我从package.json 中删除了它,升级了版本,并用npm publish 更新了npm 包。通过npm install -g generator-code-deck 重新安装npm 软件包后,我仍然收到相同的错误:ENOENT, no such file or directory '/usr/local/lib/node_modules/generator-code-deck/generators/app/templates/.gitignore'
    • 如果您查看 GitHub 存储库,您可以看到 package.json 不再有 file 键,并且没有 .npmignore 文件:github.com/trevordmiller/generator-code-deck。我不知道 npm 包还有什么不同......还有其他想法吗?
    最近更新 更多