2017-08-03 136 views
0

爲了全局生成npm,我在CLI中運行:export PATH=/opt/plesk/node/7/bin:$PATH(我已安裝Plesk)。在Laravel 5.4和Node.js上使用Laravel Mix Error編譯資產

沒有沒有太多的知識,我在應用程序的路徑跑npm run watch但我得到了幾個錯誤:

[email protected]:~/avisos.pagina$ npm run watch

@ watch /var/www/vhosts/pagina/avisos.pagina cross-env NODE_ENV=development 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" "/opt/plesk/node/7/bin/npm" "run" "watch"

npm ERR! node v7.4.0

npm ERR! npm v4.0.5

npm ERR! file sh

npm ERR! code ELIFECYCLE

npm ERR! errno ENOENT

npm ERR! syscall spawn

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! spawn ENOENT

npm ERR!

npm ERR! Failed at the @ watch script '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! Make sure you have the latest version of node.js and npm installed.

npm ERR! If you do, this is most likely a problem with the package,

npm ERR! not with npm itself.

npm ERR! Tell the author that this fails on your system:

npm ERR! 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! You can get information on how to open an issue for this project with:

npm ERR! npm bugs

npm ERR! Or if that isn't available, you can get their info via:

npm ERR! npm owner ls

npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:

npm ERR! /var/www/vhosts/pagina/avisos.pagina/npm-debug.log

當我讀到/var/www/vhosts/pagina/avisos.pagina/npm-debug.log這是我所看到的:

0 info it worked if it ends with ok

1 verbose cli [ '/opt/plesk/node/7/bin/node',

1 verbose cli '/opt/plesk/node/7/bin/npm',

1 verbose cli 'bugs' ]

2 info using [email protected]

3 info using [email protected]

4 silly fetchPackageMetaData .

5 silly fetchDirectoryPackageData .

6 silly bugs url https://www.npmjs.org/package/

7 verbose stack Error: spawn xdg-open ENOENT

7 verbose stack at exports._errnoException (util.js:1022:11)

7 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)

7 verbose stack at onErrorNT (internal/child_process.js:359:16)

7 verbose stack at _combinedTickCallback (internal/process/next_tick.js:74:11)

7 verbose stack at process._tickCallback (internal/process/next_tick.js:98:9)

8 verbose cwd /var/www/vhosts/pagina/avisos.pagina

9 error Linux 4.9.36-x86_64-linode85

10 error argv "/opt/plesk/node/7/bin/node" "/opt/plesk/node/7/bin/npm" "bugs"

11 error node v7.4.0

12 error npm v4.0.5

13 error path xdg-open

14 error code ENOENT

15 error errno ENOENT

16 error syscall spawn xdg-open

17 error enoent spawn xdg-open ENOENT

18 error enoent spawn xdg-open ENOENT

18 error enoent This is most likely not a problem with npm itself

18 error enoent and is related to npm not being able to find a file.

19 verbose exit [ 1, true ]

現在在我的網站我可以看到這個,而不是Laravel 5.4網站:https://i.imgur.com/Q8Su4K9.png

我試圖運行find /var/www/vhosts/pagina/avisos.pagina --name package.json並且是否在任何地方都能找到。使用Laravel Mix編譯資產而不會崩潰應用程序或如何使其工作的任何想法?提前致謝!

+0

有時候工作是刪除'node_modules'目錄並在運行'npm run watch'之前再次運行'npm install',如果仍然不行的話試試'npm run watch-poll'而不是 – apokryfos

+0

感謝評論,我收到了這條消息on'npm install':'Killed ....] - extract:vue:sill doParallel extract 1026' – Maramal

+0

@apokryfos,這是一個CPU問題,但仍然顯示Phusion Passenger錯誤。 – Maramal

回答

1

由於您使用的是Ubuntu,所以可能性很大,cross-env命令的一部分正在跳出您的NPM。我已經多次遇到這個問題,並發現刪除cross-env(其中,IIRC是Windows盒的修復/解決方法,所以如果您不在任何地方運行Windows,則不需要)來修復它。或者(或者如果您正在運行Windows),您應該可以安裝cross-envnpm 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文件中聲明(您也可以在其中定義自己的腳本快捷方式)。