我对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文件中并获取它,这似乎没有任何影响。
无论如何我都可以解决这个问题,或者试着更好地了解实际发生的事情?
答案 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问题链接:
答案 10 :(得分:0)
brew link --overwrite node
这就是所需要的。无需卸载。