2015-10-17 104 views
15

我正在Laravel構建我的第一個項目,並嘗試使用Elixir,在Windows 8.1上使用homestead。我已經打了太長的路,名已知的NPM /遊民問題: https://harvsworld.com/2015/how-to-fix-npm-install-errors-on-vagrant-on-windows-because-the-paths-are-too-long/npm在vagrant/homestead/windows上安裝錯誤:EPROTO:協議錯誤,符號鏈接

所以我做了該條建議(感謝上帝的傢伙)的一個行編輯,然後跑了(與和沒有sudo): NPM安裝--no斌鏈接

它感動了我前進所以現在我得到兩個不同類型的錯誤:一些「缺少寫訪問」錯誤,和一堆「EACCES」錯誤:

錯誤輸出爲我尋找下一個線索(我認爲): 請以root身份再次運行此命令/管理員

這使我想到this post,但對我來說也是有差別的是我使用sudo後也沒有改變(或更新我的用戶權限,如下所示):

須藤喬敦 - R的$ USER的/ usr /本地

須藤喬敦 - R的$(WHOAMI)〜/ .npm

更新:下面的建議,然後後,我得到EPROTO和EXTXTBSY錯誤(甚至以下提示的建議,故宮,重命名的debug.log回後: enter image description here

於是,我跑一口,看看它會給我的線索,和錯誤輸出讓我做的事:

sudo npm rebuild node-sass 

運行給我相同的EPROTO和ETXTBSY錯誤和NPM-文件的debug.log顯示: 錯誤EPROTO:協議錯誤,符號鏈接'../node-sass/bin/node-sass' - >'/ home/vagrant/Code/Family-laravel/node_modules/laravel-elixir/node_modules/gulp-sass/node_modules /的.bin /節點Sass的

然後在一些其他的東西工作了一個小時後,我回來的新鮮和重做這些步驟,這個時候越來越方式更少的錯誤:

  • 須藤NPM -g安裝NPM @最新的(罰款)

  • 須藤NPM安裝--no斌鏈接(只是ETXTBSY誤差和插件「運行程序」的錯誤,在任務「青菜「)

  • 須藤NPM重建節點薩斯--no斌鏈接(沒有錯誤)

  • 一飲而盡(只是一個錯誤!未找到:通知,發送)

靠近!

回答

38

我一直在試圖找出這個問題數週。以下是我在不使用主機環境的情況下使其工作的原因:

我根據節點源將節點更新到家園中的最新版本。com:

sudo apt-get install --yes nodejs 
curl --silent --location https://deb.nodesource.com/setup_4.x | sudo bash - 

我更新npm到最新版本的家園。這應該在更新節點後完成:

sudo npm -g install [email protected] 

我在laravel項目目錄中運行了npm install。我也不得不用武力來獲取所有依賴的安裝:

sudo npm install --no-bin-links 
sudo npm cache clear 
sudo npm install --force --no-bin-links 

我重建節點SASS根據一飲而盡錯誤:

sudo npm rebuild node-sass --no-bin-links 

在這整個過程中,如果事情失敗或每個後安裝,我用:

sudo npm cache clear 

我的主機是Windows 10,與最新的virtualbox,最新的流浪者,最新的家園。我使用git bash作爲管理員,使用git bash將ssh轉換爲流浪漢。

到目前爲止,我只測試並確認我的一口氣工作。其他依賴關係可能需要重建。

希望這會有所幫助!

+0

謝謝! 這些第一對夫婦的聯繫似乎幫助,因爲我不再讓那些「EACCES」錯誤,當我: 須藤NPM安裝--no斌鏈接 Ugh-但我應該已經離開不夠好孤單,因爲這樣做後'force'現在我得到新的EEXIST和ETXTBSY錯誤:( –

+0

其實不是:現在EACCES錯誤只出現在我的npm-debug.log中,而不是在提示符中:/ –

+0

我在上面添加了最新的錯誤 - I從所有的論壇帖子都知道,讓靈丹妙藥與我的Windows vm一起工作會很糟糕,但是,它只是繼續:p –