错误:找不到模块'../lib/cli'

时间:2015-03-28 23:46:14

标签: javascript npm

我对javascript开发完全陌生,而且当我通过backbone_blueprints一书时,我收到了以下错误。这是我得到的错误:

> simple-blog@0.1.0 start /Users/noahc/Projects/backbone_blueprints/blog
> nodemon server.js


module.js:340
    throw err;
          ^
Error: Cannot find module '../lib/cli'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/Users/noahc/Projects/backbone_blueprints/blog/node_modules/.bin/nodemon:3:11)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)

npm ERR! Darwin 14.1.0
npm ERR! argv "node" "/usr/local/bin/npm" "start"
npm ERR! node v0.10.33
npm ERR! npm  v2.1.11
npm ERR! code ELIFECYCLE
npm ERR! simple-blog@0.1.0 start: `nodemon server.js`
npm ERR! Exit status 8
npm ERR! 
npm ERR! Failed at the simple-blog@0.1.0 start script 'nodemon server.js'.
npm ERR! This is most likely a problem with the simple-blog package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     nodemon server.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls simple-blog
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/noahc/Projects/backbone_blueprints/blog/npm-debug.log
☹ ~/Projects/backbone_blueprints/blog npm install                                                                   ruby-2.1.3
npm WARN package.json simple-blog@0.1.0 No repository field.
npm WARN package.json simple-blog@0.1.0 No README data

这是调试日志:

0 info it worked if it ends with ok 
1 verbose cli [ 'node', '/usr/local/bin/npm', 'install' ]
2 info using npm@2.1.11
3 info using node@v0.10.33
4 verbose node symlink /usr/local/bin/node
5 error install Couldn't read dependencies
6 verbose stack Error: ENOENT, open '/Users/noahc/Projects/backbone_blueprints/package.json'
7 verbose cwd /Users/noahc/Projects/backbone_blueprints
8 error Darwin 14.1.0
9 error argv "node" "/usr/local/bin/npm" "install"
10 error node v0.10.33
11 error npm  v2.1.11
12 error path /Users/noahc/Projects/backbone_blueprints/package.json
13 error code ENOPACKAGEJSON
14 error errno 34 
15 error package.json ENOENT, open '/Users/noahc/Projects/backbone_blueprints/package.json'
15 error package.json This is most likely not a problem with npm itself.
15 error package.json npm can't find a package.json file in your current directory.
16 verbose exit [ 34, true ]

而且:

☹ ~/Projects/backbone_blueprints/blog which node                                                                    ruby-2.1.3
/usr/local/bin/node
☺ ~/Projects/backbone_blueprints/blog which npm                                                                     ruby-2.1.3
/usr/local/bin/npm

我认为这可能是一个路径问题,因此我将export NODE_PATH=/opt/lib/node_modules添加到我的.zshrc文件中并获取它,这似乎没有任何影响。

无论如何我都可以解决这个问题,或者试着更好地了解实际发生的事情?

11 个答案:

答案 0 :(得分:61)

我的解决方案是删除目录/ node_modules /,然后使用npm install进行全新安装。

答案 1 :(得分:19)

NodeDemon正在其自己的目录中查找其../lib/cli文件夹而未找到它。你可能搞乱了。当您使用finder将项目从一个文件夹复制到另一个文件夹时,有时会发生这种情况。

如果你吹掉了node_modules目录并从头开始重新安装,你应该恢复该文件夹。

cd your_project_folder
rm -rf node_modules
npm install

修改

您也可以使用纱线。

cd your_project_folder
rm -rf node_modules
yarn

答案 2 :(得分:6)

我找到了修复程序。我不得不在全局安装nodemon:npm install nodemon -g

答案 3 :(得分:3)

您可以尝试执行以下操作

npm uninstall nodemon
npm install nodemon

答案 4 :(得分:3)

我遇到了这个错误,留在这里以防它对任何人有帮助。

我安装了yarn,显然搞砸了我的节点安装,试图通过卸载东西来修复它,弄得一团糟。 Brew 不会成功安装 node(旧操作系统可能没有 LTS,从源代码安装不会使 npm 工作)。

偶数

npm -v

会给出错误(所以与 node_modules 无关)。 最后通过使用来自 here 的包管理器安装节点来修复它。

答案 5 :(得分:2)

对我来说npm坏了,可能是因为我在某个时候用sudo运行了它。

我需要修复酿造,升级/更新

brew uninstall node
sudo chown -R $(whoami) /usr/local/*
brew cleanup
brew install node

答案 6 :(得分:1)

因此,npm 在 package.json 文件和 node_modules/.bin 目录中声明了可执行文件的模块之间创建了符号链接。

阅读from npm以了解。

博士阿克塞尔·劳施迈尔 explains more here.

当使用 macos finder、windows 文件资源管理器或命令行复制项目目录和 其 node_modules 文件夹时,此符号链接将被破坏。因此,对 node_modules/.bin 目录上的符号链接文件的调用无法命中假定的包。

就您而言,它是 nodemon 。手动修复此运行

ln -s ./node_modules/nodemon/bin/nodemon.js ./node_modules/.bin/nodemon

对于任何其他包,检查它的 package.json 中的 "bin": { } 键并查看符号链接的可执行文件,然后修改上面的 link 命令 并按照此运行。

答案 7 :(得分:1)

brew uninstall node
brew upgrade 
brew install node
brew link --overwrite node 
npm -v

为我工作。

答案 8 :(得分:0)

有同样的问题。

我使用protractor --elementExplorer,它适用于我

答案 9 :(得分:0)

量角器已更改位置。lib/内置量角器文件现在位于软件包的内置目录中。您应该只能够将IDE定向到built / cli.js 这对我有用。

检查其Github问题链接:

https://github.com/angular/protractor/issues/3089

答案 10 :(得分:0)

brew link --overwrite node

这就是所需要的。无需卸载。