尝试通过node.js 5.3.0在Windows 7上安装PureScript和纸浆:
npm install -g purescript
npm install -g pulp
cd some-empty-dir
pulp init
安装似乎可以正常工作,但是
pulp
总是失败,并显示以下错误:module.js:328
throw err;
^
Error: Cannot find module './pulp'
at Function.Module._resolveFilename (module.js:326:15)
at Function.Module._load (module.js:277:25)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (C:\Users\me\AppData\Roaming\npm\node_modules\pulp\index.js:2:1)
at Module._compile (module.js:398:26)
at Object.Module._extensions..js (module.js:405:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Function.Module.runMain (module.js:430:10)
index.js仅包含这两行:
#!/usr/bin/env node
require("./pulp");
C:\Users\me\AppData\Roaming\npm
是我PATH的最后一部分。where pulp
返回C:\Users\me\AppData\Roaming\npm\pulp
C:\Users\me\AppData\Roaming\npm\pulp.cmd
我对Git Bash进行了相同的尝试,但结果相同。
我尝试重新安装purescript,pulp和node / npm,但没有任何改变。
在另一台计算机上,我没有问题。似乎有什么干扰我在此特定系统上的安装。环境变量,现有或不存在的目录,...?
我不熟悉node.js,也不知道在哪里看。知道有什么问题吗?
编辑:路径中文件的内容
C:\ Users \ me \ AppData \ Roaming \ npm \ pulp:
#!/bin/sh
basedir=`dirname "$0"`
case `uname` in
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac
if [ -x "$basedir/node" ]; then
"$basedir/node" "$basedir/node_modules/pulp/index.js" "$@"
ret=$?
else
node "$basedir/node_modules/pulp/index.js" "$@"
ret=$?
fi
exit $ret
C:\ Users \ me \ AppData \ Roaming \ npm \ pulp.cmd:
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\node_modules\pulp\index.js" %*
) ELSE (
@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node "%~dp0\node_modules\pulp\index.js" %*
)
仅运行命令
pulp
即可执行pulp.cmd
的“ else”分支。 最佳答案
对于有相同问题并在以后找到它的任何人:解决此问题的最佳方法是运行以下命令:
npm uninstall -g pulp
npm cache clean pulp
npm install -g pulp
为什么我认为这可以解决问题:
我刚刚遇到其他人也遇到了同样的问题。在他们的情况下,发生的事情是,以某种方式在包tarball中未包含
pulp.js
。 pulp.js
是由Pulp的预发布脚本生成的文件,因此它应与index.js
在同一目录中-也就是说,在以下目录中应具有文件pulp.js
:$ echo `npm root -g`/pulp/
删除纸浆的缓存版本并再次下载(即上述命令)解决了该问题。
关于node.js - 错误:找不到模块“./pulp”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34450591/