我已经安装了mean.io并运行了sudo npm install。实际上按顺序执行命令
sudo npm install -g meanio
mean init yourNewApp
cd yourNewApp
sudo npm install -g bower
sudo npm install
应该将angularjs库下载并安装到public / system / lib中。执行上述步骤后,不会创建public / system / lib,因为当我启动应用程序时,我收到错误
events.js:72
throw er; // Unhandled 'error' event
^
Error: ENOENT, open '/home/santhosh/dev/scaleqa/mean_tut/old mean/temp/myapp/public/system/lib/bootstrap/dist/css/bootstrap.css'
[nodemon] app crashed - waiting for file changes before starting...
是否与某些npm / angularjs服务器关闭有关。我早些时候也遇到过这个问题,但在第二次尝试时得到了修复,我没有费心去做更多的研究。当我尝试将我的repo拉入云并启动应用程序时,这成了一个大问题。默认情况下,public / system / lib在.gitignore中添加,预计将在npm install期间创建。
我通过sudo npm install获得以下警告
npm WARN package.json mean-connect-mongo@0.4.3 No repository field.
npm WARN cannot run in wd mean@0.3.3 node node_modules/bower/bin/bower install (wd=/home/santhosh/dev/scaleqa/mean_tut/old mean/temp/myapp)
这是link到package.json
答案 0 :(得分:3)
问题可能与将npm install
作为sudo
运行有关,这可能会导致问题。 As mentioned in another stack overflow question,这可以通过几种方式解决。但是因为它看起来像是从您的主目录运行,所以您真的不需要以root身份运行npm install
。
尝试发出相同的命令,但最后一个没有sudo
:
sudo npm install -g meanio
mean init yourNewApp
cd yourNewApp
sudo npm install -g bower
npm install
请注意,您可能需要使用npm install -g <package>
运行sudo
的原因是因为默认情况下,npm使用/usr/local
进行全局安装,这可以是受限制的目录。但是,当您在本地安装软件包(没有-g
标志)时,您不需要以root用户身份运行。