要全局生成npm,我在CLI上运行:在Ubuntu上运行export PATH=/opt/plesk/node/7/bin:$PATH
(我安装了Plesk)。
在没有太多知识的情况下,我在应用程序路径中运行了npm run watch
但是我遇到了几个错误:
user @ server:〜/ avisos.pagina $ npm run watch
@ watch /var/www/vhosts/pagina/avisos.pagina cross-env NODE_ENV =开发node_modules / webpack / bin / webpack.js --watch --progress --hide-modules --config = node_modules / laravel-mix / setup / webpack.config.js
sh:1:cross-env:not found
npm ERR! Linux 4.9.36-x86_64-linode85
npm ERR! argv" / opt / plesk / node / 7 / bin / node" " /选择的/ plesk /节点/ 7 /斌/ NPM" "运行" "钟表"
npm ERR!节点v7.4.0
npm ERR! npm v4.0.5
npm ERR!文件sh
npm ERR!代码ELIFECYCLE
npm ERR!错误的ENOENT
npm ERR!系统调用生成
npm ERR! @ watch:
cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js
npm ERR!产生ENOENT
npm ERR!
npm ERR! @ watch脚本失败' cross-env NODE_ENV =开发node_modules / webpack / bin / webpack.js --watch --progress --hide-modules --config = node_modules / laravel-mix / setup / webpack。 config.js'
npm ERR!确保安装了最新版本的node.js和npm。
npm ERR!如果这样做,这很可能是包的问题,
npm ERR!不是与npm本身。
npm ERR!告诉作者你的系统失败了:
npm ERR! cross-env NODE_ENV =开发node_modules / webpack / bin / webpack.js --watch --progress --hide-modules --config = node_modules / laravel-mix / setup / webpack.config.js
npm ERR!您可以通过以下方式获取有关如何为此项目打开问题的信息:
npm ERR! npm bugs
npm ERR!或者如果不可用,您可以通过以下方式获取他们的信息:
npm ERR! npm所有者ls
npm ERR!上面可能有额外的日志记录输出。
npm ERR!请在支持请求中包含以下文件:
npm ERR! /var/www/vhosts/pagina/avisos.pagina/npm-debug.log
当我阅读/var/www/vhosts/pagina/avisos.pagina/npm-debug.log
时,这就是我所看到的:
0信息如果以ok结尾
就可以了1 verbose cli [' / opt / plesk / node / 7 / bin / node',
1 verbose cli' / opt / plesk / node / 7 / bin / npm',
1个详细的cli' bug' ]
2使用npm@4.0.5
信息3 info使用node@v7.4.0
4傻fetchPackageMetaData。
5傻fetchDirectoryPackageData。
6个愚蠢的错误网址https://www.npmjs.org/package/
7详细堆栈错误:生成xdg-open ENOENT
在exports._errnoException(util.js:1022:11)7详细堆栈
Process.ChildProcess._handle.onexit上的7个详细堆栈(internal / child_process.js:193:32)
onErrorNT上的7个详细堆栈(internal / child_process.js:359:16)
_combinedTickCallback上的7个详细堆栈(内部/进程/ next_tick.js:74:11)
进程中的7个详细堆栈._tickCallback(内部/进程/ next_tick.js:98:9)
8 verbose cwd /var/www/vhosts/pagina/avisos.pagina
9错误Linux 4.9.36-x86_64-linode85
10错误argv" / opt / plesk / node / 7 / bin / node" " /选择的/ plesk /节点/ 7 /斌/ NPM" "错误"
11错误节点v7.4.0
12错误npm v4.0.5
13错误路径xdg-open
14错误代码ENOENT
15错误错误ENOENT
16错误系统调用spawn xdg-open
17错误enoent spawn xdg-open ENOENT
18错误enoent spawn xdg-open ENOENT
18错误enoent这很可能不是npm本身的问题
18错误enoent并且与npm无法找到文件有关。
19详细退出[1,true]
现在在我的网站上我可以看到这个而不是Laravel 5.4网站:https://i.imgur.com/Q8Su4K9.png
我试图运行find /var/www/vhosts/pagina/avisos.pagina --name package.json
并且无法在任何地方找到它。有没有想过使用Laravel Mix编译资产而不会破坏应用程序或如何使其工作的想法?提前谢谢!
答案 0 :(得分:1)
由于您正在运行Ubuntu,因此该命令的cross-env
部分可能会使您的NPM瘫痪。我已多次遇到此问题并发现删除了cross-env
(其中,IIRC,是Windows机器的修复/解决方法,因此,如果您没有在任何地方运行Windows,则没有必要)来修复它。或者(或者如果您运行的是Windows),您应该可以使用cross-env
安装npm install -g cross-env
。
我发现在遇到问题时直接运行节点命令很有帮助,所以我自己得到错误。在这种情况下:
cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js
如果我的怀疑是正确的,你会想把它转换成:
NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js
npm run watch
之类的东西只是这些较长脚本的快捷方式。这些快捷方式在您的package.json
文件中声明(如果需要,您还可以在其中定义自己的脚本快捷方式)。