Node.js的找不到模块 - 使用Cygwin在Windows干扰(Node.js cannot

2019-09-16 11:36发布

我测试的引导框架(从Twitter),并尝试安装Node.js的后本地构建它 因为它无法找到少模块失败(我也安装了“故宫安装-g少”):

C:\Users\geir\code\bootstrap>make
lessc html/less/bootstrap.less > html/css/bootstrap.css

node.js:201
    throw e; // process.nextTick error, or 'error' event on first tick
          ^
Error: Cannot find module 'C:\cygdrive\c\Users\geir\AppData\Roaming\npm\node_modules\less\bin\lessc'
    at Function._resolveFilename (module.js:332:11)
    at Function._load (module.js:279:25)
    at Array.0 (module.js:479:10)
    at EventEmitter._tickCallback (node.js:192:40)
Makefile:2: recipe for target `all' failed
make: *** [all] Error 1

为什么它失败的原因是因为“cygdrive \”被前置到文件夹层次时许正在寻找的模块,我已经验证thtat“lessc”实际上是在C:\用户\盖尔\应用程序数据\漫游\故宫\ node_modules \少\ BIN \ lessc,我可以从命令行运行它。

我试过没有成功的情况如下:

  • 重新排列的文件夹在PATH环境变量,这样的Node.js和NPM来cygwin的前 - 相同的结果。
  • 从路径中删除Cygwin的 - 使命令工作停止。
  • 安装与/“少”无“-g”参数(NPM)
  • 重新安装的node.js

任何线索?

Answer 1:

呼叫从Cygwin的终端做。 打开Cygwin的终端,然后cd进入Cygwin的别名,你的C:\用户\盖尔\代码\引导程序文件夹,然后运行make:

geir@WINHOSTNAME ~
$cd /cygdrive/c/Users/geir/code/bootstrap
geir@WINHOSTNAME /cygdrive/c/Users/geir/code/bootstrap
$make


文章来源: Node.js cannot find module - interfering with cygwin on Windows