(generator-polymer) yo polymer 失败,找不到模块 'find-index'
(generator-polymer) yo polymer fails, cannot find module 'find-index'
这是在干净的目录中键入 yo polymer
后的完整错误。
module.js:338
throw err;
^
Error: Cannot find module 'find-index'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/usr/lib/node_modules/generator-polymer/node_modules/yeoman-generator/node_modules/download/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob2base/index.js:4:17)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
我刚刚重新安装了与节点相关的所有内容,但这里是版本。
node: v0.12.7
npm: 2.11.3
yo: 1.4.7
bower: 1.4.1
grunt-cli: v0.1.13
gulp: 3.9.0
generator-polymer: 1.0.5
请注意,我在安装 generator-polymer
时收到警告。
npm WARN deprecated CSSselect@0.4.1: the module is now available as 'css-select'
npm WARN deprecated CSSwhat@0.4.7: the module is now available as 'css-what'
我也尝试过手动安装这三个有问题的模块,似乎是成功的。
sudo npm install -g find-index css-select css-what
我没主意了。 Node 是从 nodejs.org.
下载的源代码安装的
编辑:
我还使用 sudo npm install -g n
安装了 n
来安装节点。我试过 uninstalling/reinstalling node/npm 但没有成功。
编辑2:
yo webapp
有效,所以罪魁祸首是(一定是?)生成聚合物。
我看到你正在将它安装到全局模块。您是否尝试为项目安装 generator-polymer
(它应该修复警告)
您只列出根包版本。但问题似乎在于依赖性。根据你的堆栈跟踪,它是由 yeoman-generator / 下载模块引起的
这是我所有 depes 的版本。查看这个包并检查你的版本(我有 yeoman-generator@0.18.10 和 download@3.3.0 可以正常工作)
generator-polymer@1.1.0 node_modules/generator-polymer
├── ncp@2.0.0
├── chalk@1.1.0 (escape-string-regexp@1.0.3, supports-color@2.0.0, ansi-styles@2.1.0, has-ansi@2.0.0, strip-ansi@3.0.0)
├── lodash@3.10.1
├── validate-element-name@1.0.0 (log-symbols@1.0.2, ncname@1.0.0)
├── rimraf@2.4.2 (glob@5.0.14)
├── yosay@1.0.5 (ansi-regex@1.1.1, ansi-styles@2.1.0, strip-ansi@2.0.1, word-wrap@1.1.0, pad-component@0.0.1, minimist@1.1.3, taketalk@1.0.0, repeating@1.1.3, string-width@1.0.1)
└── yeoman-generator@0.18.10 (read-chunk@1.0.1, dargs@3.0.1, detect-conflict@1.0.0, yeoman-welcome@1.0.1, xdg-basedir@1.0.1, user-home@1.1.1, class-extend@0.1.1, diff@1.4.0, text-table@0.2.0, mime@1.3.4, underscore.string@2.4.0, async@0.9.2, run-async@0.1.0, istextorbinary@1.0.2, debug@2.2.0, nopt@3.0.3, cross-spawn@0.2.9, yeoman-assert@1.0.0, mkdirp@0.5.1, shelljs@0.3.0, cli-table@0.3.1, pretty-bytes@1.0.4, through2@0.6.5, glob@4.5.3, findup-sync@0.2.1, file-utils@0.2.2, dateformat@1.0.11, github-username@1.1.1, lodash@2.4.2, gruntfile-editor@0.2.0, download@3.3.0, mem-fs-editor@1.2.3, sinon@1.15.4, inquirer@0.8.5, yeoman-environment@1.2.7, cheerio@0.18.0)
无论如何,我会尝试将所有 deps 安装为本地模块。
编辑:
你应该在你的项目中有这个目录
node_modules/generator-polymer/node_modules/yeoman-generator/node_modules/download/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob2base/node_modules/find-index
在树的哪个位置
glob2base 是 0.0.12
glob-stram 是 3.1.18
乙烯基-fs 是 0.3.13
下载是3.3.0
yeoman-generator 是 0.18.10
使用 npm -g 存在问题,除非您可以在不使用 sudo 的情况下访问它(即您有权在安装全局模块的地方使用 read/write 等)。
据我所知,它的凉亭是罪魁祸首
解决问题的方法是 运行 npm config edit,并将前缀值更改为无需 sudo 即可访问的值。这会编辑 ~/.npmrc 文件
然后你为你全局安装。
我能够通过删除有问题的目录来解决问题,
/usr/lib/node_modules/generator-polymer
我不记得是否简单地重新安装发电机聚合物 (sudo npm install -g generator-polymer
) 就完全解决了问题(让我知道,我会更新答案)。我最终重新安装了所有内容以确保所有问题都得到缓解。
环境设置
- 安装node.js。按照他们网站上的说明为您的 OS.
安装
- 通过在系统的控制台中键入命令
sudo npm install -g yo
来安装 Yeoman。
-g
全局安装包,这就是为什么需要 sudo
命令(您的系统可能会有所不同)。
- 接下来我们将安装几个 Yeoman generators。
- 使用命令
sudo npm install -g generator-polymer
安装 polymer generator。
- (可选)使用命令
sudo npm install -g generator-element
安装 polymer element generator。
这将有助于构建自定义 Polymer 元素。
开始新项目
有了开发环境的设置,开始一个项目就变得非常容易了。
mkdir my-project
cd my-project
yo polymer
将使用最新版本的聚合物和其他依赖项在 my-project
目录中设置一个新的聚合物项目。
测试项目
Polymer 使用 gulp 流构建系统。在您的项目目录中,只需键入
gulp serve
查看我的 Polymer 1.0 Notes Google 文档。
这是在干净的目录中键入 yo polymer
后的完整错误。
module.js:338
throw err;
^
Error: Cannot find module 'find-index'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/usr/lib/node_modules/generator-polymer/node_modules/yeoman-generator/node_modules/download/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob2base/index.js:4:17)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
我刚刚重新安装了与节点相关的所有内容,但这里是版本。
node: v0.12.7
npm: 2.11.3
yo: 1.4.7
bower: 1.4.1
grunt-cli: v0.1.13
gulp: 3.9.0
generator-polymer: 1.0.5
请注意,我在安装 generator-polymer
时收到警告。
npm WARN deprecated CSSselect@0.4.1: the module is now available as 'css-select'
npm WARN deprecated CSSwhat@0.4.7: the module is now available as 'css-what'
我也尝试过手动安装这三个有问题的模块,似乎是成功的。
sudo npm install -g find-index css-select css-what
我没主意了。 Node 是从 nodejs.org.
下载的源代码安装的编辑:
我还使用 sudo npm install -g n
安装了 n
来安装节点。我试过 uninstalling/reinstalling node/npm 但没有成功。
编辑2:
yo webapp
有效,所以罪魁祸首是(一定是?)生成聚合物。
我看到你正在将它安装到全局模块。您是否尝试为项目安装 generator-polymer
(它应该修复警告)
您只列出根包版本。但问题似乎在于依赖性。根据你的堆栈跟踪,它是由 yeoman-generator / 下载模块引起的
这是我所有 depes 的版本。查看这个包并检查你的版本(我有 yeoman-generator@0.18.10 和 download@3.3.0 可以正常工作)
generator-polymer@1.1.0 node_modules/generator-polymer
├── ncp@2.0.0
├── chalk@1.1.0 (escape-string-regexp@1.0.3, supports-color@2.0.0, ansi-styles@2.1.0, has-ansi@2.0.0, strip-ansi@3.0.0)
├── lodash@3.10.1
├── validate-element-name@1.0.0 (log-symbols@1.0.2, ncname@1.0.0)
├── rimraf@2.4.2 (glob@5.0.14)
├── yosay@1.0.5 (ansi-regex@1.1.1, ansi-styles@2.1.0, strip-ansi@2.0.1, word-wrap@1.1.0, pad-component@0.0.1, minimist@1.1.3, taketalk@1.0.0, repeating@1.1.3, string-width@1.0.1)
└── yeoman-generator@0.18.10 (read-chunk@1.0.1, dargs@3.0.1, detect-conflict@1.0.0, yeoman-welcome@1.0.1, xdg-basedir@1.0.1, user-home@1.1.1, class-extend@0.1.1, diff@1.4.0, text-table@0.2.0, mime@1.3.4, underscore.string@2.4.0, async@0.9.2, run-async@0.1.0, istextorbinary@1.0.2, debug@2.2.0, nopt@3.0.3, cross-spawn@0.2.9, yeoman-assert@1.0.0, mkdirp@0.5.1, shelljs@0.3.0, cli-table@0.3.1, pretty-bytes@1.0.4, through2@0.6.5, glob@4.5.3, findup-sync@0.2.1, file-utils@0.2.2, dateformat@1.0.11, github-username@1.1.1, lodash@2.4.2, gruntfile-editor@0.2.0, download@3.3.0, mem-fs-editor@1.2.3, sinon@1.15.4, inquirer@0.8.5, yeoman-environment@1.2.7, cheerio@0.18.0)
无论如何,我会尝试将所有 deps 安装为本地模块。
编辑: 你应该在你的项目中有这个目录
node_modules/generator-polymer/node_modules/yeoman-generator/node_modules/download/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob2base/node_modules/find-index
在树的哪个位置 glob2base 是 0.0.12 glob-stram 是 3.1.18 乙烯基-fs 是 0.3.13 下载是3.3.0 yeoman-generator 是 0.18.10
使用 npm -g 存在问题,除非您可以在不使用 sudo 的情况下访问它(即您有权在安装全局模块的地方使用 read/write 等)。
据我所知,它的凉亭是罪魁祸首
解决问题的方法是 运行 npm config edit,并将前缀值更改为无需 sudo 即可访问的值。这会编辑 ~/.npmrc 文件
然后你为你全局安装。
我能够通过删除有问题的目录来解决问题,
/usr/lib/node_modules/generator-polymer
我不记得是否简单地重新安装发电机聚合物 (sudo npm install -g generator-polymer
) 就完全解决了问题(让我知道,我会更新答案)。我最终重新安装了所有内容以确保所有问题都得到缓解。
环境设置
- 安装node.js。按照他们网站上的说明为您的 OS. 安装
- 通过在系统的控制台中键入命令
sudo npm install -g yo
来安装 Yeoman。-g
全局安装包,这就是为什么需要sudo
命令(您的系统可能会有所不同)。 - 接下来我们将安装几个 Yeoman generators。
- 使用命令
sudo npm install -g generator-polymer
安装 polymer generator。 - (可选)使用命令
sudo npm install -g generator-element
安装 polymer element generator。 这将有助于构建自定义 Polymer 元素。
- 使用命令
开始新项目
有了开发环境的设置,开始一个项目就变得非常容易了。
mkdir my-project
cd my-project
yo polymer
将使用最新版本的聚合物和其他依赖项在 my-project
目录中设置一个新的聚合物项目。
测试项目
Polymer 使用 gulp 流构建系统。在您的项目目录中,只需键入
gulp serve
查看我的 Polymer 1.0 Notes Google 文档。