我試圖通過一個泊塢窗容器來運行npm install
運行時,使用失敗:NPM安裝過碼頭工人,容器
docker run -it --rm -v $(pwd):/src cthulhu666/yeoman npm install
但它總是失敗,並沿着以下的行的消息:
85351 error node v5.5.0
85352 error npm v3.3.12
85353 error path /src/node_modules/.defaults.DELETE/node_modules/clone
85354 error code ENOENT
85355 error errno -2
85356 error syscall rename
85357 error enoent ENOENT: no such file or directory, rename '/src/node_modules/.defaults.DELETE/node_modules/clone' -> '/src/node_modules/defaults/node_modules/clone'
85357 error enoent This is most likely not a problem with npm itself
85357 error enoent and is related to npm not being able to find a file.
我說「沿着線」,因爲它並不總是這個文件......幾天前,當我試圖在一個不同的文件上失敗時。
我試着在不同的機器上,使用相同的package.json,並使用全局npm install
而不是通過docker容器,它工作正常,所以它似乎是在裝入的捲上運行它的問題。
我真的不知道如何解決這個雖然 - 無論它是一個碼頭工人的問題,一個問題NPM或別的東西完全...
(以防萬一它是有用的,這是的package.json: https://github.com/roots/sage/blob/master/package.json)
更新1
我試着運行docker run -it --rm -v $(pwd):/src cthulhu666/yeoman /bin/bash
,然後運行在外殼npm install
但同樣的事情發生。
更新2
我忘了提...我在OSX使用泊塢窗機。由於基於VirtualBox的機器存在性能問題,因此碼頭機VM是VMWare Fusion。不過,我剛剛嘗試了啓動Virtualbox機器並運行該命令併成功完成 - 因此它看起來像是VMWare Fusion特有的。
您是否嘗試過創建Dockerfile,您可以在其中發出npm install,然後創建映像,然後發出docker run以啓動處理? ...只是爲了獲得樂趣,可以在上面的docker運行命令中替換npm install,然後在交互式終端提示符下手動發出npm install或者更有自由排除故障的地方 –
運行/ bin/bash shell並運氣不佳然後在裏面運行npm install,我仍然得到相同的錯誤。我不確定你是否意圖創建另一個Dockerfile ......?我已經嘗試創建基於node5-slim的自己的圖像,但它做同樣的事情... –
npm install命令僅適用於當前目錄包含名爲package.json的文件...因此,在使用bash啓動時ls -la顯示文件,也許你首先需要cd到其他目錄 –