gpt4 book ai didi

node.js - Node 包安装失败,因为 Node 在我的根目录中查找依赖项

转载 作者:太空宇宙 更新时间:2023-11-04 00:59:10 27 4
gpt4 key购买 nike

在使用 npm 安装软件包时,我最近遇到了一个问题,即弹出错误,指出 Node 找不到模块/脚本。由于某种原因,它在我的 C:/ 目录中查找,而不是在 C:/my-project/node_modules 中查找。这个库尤其麻烦,但我以前也见过这种情况。

我运行的是 Win7 x32,Node 版本为 v0.10.35。

这是我尝试安装 node-sass 时看到的示例:

C:\node\test>npm install node-sass
> node-sass@2.0.0-beta install C:\node\test\node_modules\node-sass
> node scripts/install.js


module.js:340
throw err;
^
Error: Cannot find module 'C:\scripts\install.js'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:929:3

npm ERR! node-sass@2.0.0-beta install: `node scripts/install.js`
npm ERR! Exit status 8
npm ERR!
npm ERR! Failed at the node-sass@2.0.0-beta install script.
npm ERR! This is most likely a problem with the node-sass package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node scripts/install.js
npm ERR! You can get their info via:
npm ERR! npm owner ls node-sass
npm ERR! There is likely additional logging output above.
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "node-sass"
npm ERR! cwd C:\node\test
npm ERR! node -v v0.10.35
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
npm ERR! not ok code 0

一位同事向我发送了他的 install.js 文件,我将其放在我的根目录中只是为了看看会发生什么。不幸的是,一旦 npm 尝试安装根模块所需的模块,安装仍然失败。

最佳答案

我在尝试将 node-sass 安装到 Windows 系统上时遇到了类似的问题。我将此报告为 node-sass 问题(请参阅 Windows 8.1 Pro 64-bit: gulp-sass install failing due to node-sass@2.1.1 install script failure )。

我在本地安装的 Node 中添加了一些额外的日志记录,以查看实际发生的情况并发现以下内容:

nodejs\node_modules\npm\lib\utils\spawn.js 用于启动scripts\install.js通过添加一些额外的日志记录,我发现spawn.js正在使用以下命令行来启动install.js:C:\WINDOWS\system32\cmd.exe/c Node 脚本/install.js

在单独的命令提示符窗口中,我更改为 c:\test 目录,然后运行 ​​C:\WINDOWS\system32\cmd.exe/c node 以查看正在使用哪个目录 Node 。

在 Node >提示符下,我运行了process.cwd()。显示:c:\\ 而不是 c:\\test

当我看到上面的 c:\\ 时,我记得我在 Windows 注册表中的 HKEY_CURRENT_USER\Software\Microsoft\Command Processor 中添加了自动运行设置,以自动运行每次启动 cmd.exe 时的启动脚本。当我查看启动脚本时,我注意到该脚本中的最后一个命令是:cd c:\。这会导致 cmd.exe 的每个实例都使用 c:\作为其起始目录。

从我的启动脚本中删除 cd c:\ 后,npm install node-sass 正确运行。

我希望这对遇到上述问题的其他人有所帮助。

关于node.js - Node 包安装失败,因为 Node 在我的根目录中查找依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27802469/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com