2014-02-23 43 views
21

我想在一個新的項目目錄中運行yo angular,但它的地方給我的ENOENT錯誤一路走來。是的,我查看了this similar question,但其解決方案對我無效。`yo angular`給出錯誤:npm ERR!代碼ENOENT npm ERR!錯誤號34(是的,我已經清理緩存和設置.npmignore)

我向右走yo angular前跑空的新項目目錄這些事情:

touch .npmignore 
npm cache clear 
npm cache clean 

但我仍然得到:

npm ERR! Error: ENOENT, lstat '/home/ubuntu/app_c/node_modules/grunt/ internal-tasks/bump.js' 
npm ERR! If you need help, you may report this *entire* log, 
npm ERR! including the npm and node versions, at: 
npm ERR!  <http://github.com/npm/npm/issues> 

npm ERR! System Linux 3.2.0-54-virtual 
npm ERR! command "/home/ubuntu/local/bin/node" "/home/ubuntu/local/bin/ npm" "install" 
npm ERR! cwd /home/ubuntu/app_c 
npm ERR! node -v v0.10.26 
npm ERR! npm -v 1.4.3 
npm ERR! path /home/ubuntu/app_c/node_modules/grunt/internal-tasks/bump. js 
npm ERR! fstream_path /home/ubuntu/app_c/node_modules/grunt/internal- tasks/bump.js 
npm ERR! fstream_type File 
npm ERR! fstream_class FileWriter 
npm ERR! code ENOENT 
npm ERR! errno 34 
npm ERR! fstream_stack /home/ubuntu/local/lib/node_modules/npm/   node_modules/fstream/lib/writer.js:284:26 
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15) 

我怎樣才能解決這個問題?


這是一個全新的Ubuntu服務器12.04.3的history of ALL the commands, in chronological order, that I ran,所以你可以看到究竟是什麼導致了這一點,並在那裏我已經安裝了各種包。

這個問題是鏈接到NPM github issue

+2

'npm cache clean'後嘗試重新安裝喲。 –

+0

在'npm cache clean'後的新目錄中,我做了'npm install -g yo'和'npm install -g generator-angular'。在運行'yo angular'之前,'npm cache clean'又做了。我仍然得到ENOENT。 – randwa1k

+5

我剛剛有嚴格相同的問題。 「npm update -g」爲我解決了這個問題。 –

回答

1

更新節點(與NPM)到最新版本,這應該解決的問題。

2

npm ERR! command "/home/ubuntu/local/bin/node"

您是否在用戶目錄中安裝?我做了也有ENOENT錯誤。我不得不mkdir一些目錄。如果它們不在那裏,請嘗試在debug.log中創建一些目錄,例如lib/node_modules。

27

編輯:其次是npm cache clearnpm update -g應該對大多數工作。但是,首次在Mac OS上安裝時,您可能需要在第一次安裝nodeJS後導航至您的usr/local/lib/node_modules文件夾,並將讀/寫權限授予「Everyone」。在發佈這些權限之前,節點將無法全局安裝其他工作流程組件。您不希望sudo npm install命令,因爲那樣的話,那些工具在事實之後將不具有sudo訪問權限。通過右鍵單擊文件夾並轉到「獲取信息」,然後更改彈出窗口底部的權限,可以更改讀取/寫入權限。

我在Windows 7機器上有這個相同的問題。下面是我要解決的步驟:

  • 修復節點安裝
  • 開放升高CLI
  • 運行npm update -g
  • 運行npm cache clear
  • 運行npm install -g yo
  • 運行npm cache clear
  • 運行npm install -g generator-angular
  • 運行npm cache clear
  • 創建新的目錄
  • 運行yo angular test
  • 運行npm cache clear
  • 運行grunt serve

我也碰到與karma.conf.js其中的路徑有\,而不是其他一些問題對於bower_components,/。另外,我注意到可選的角度模塊被注入到我的app.js中,儘管沒有將它們全部包含在我的構建中。我已經在github上報告過這些問題。

+1

感謝 - 這在Mac OS X上爲我工作。一切工作正常,直到yeoman開始抱怨我試圖用sudo運行它。我不得不做的npm路徑必須讓所有東西都亂成一團,但是這樣就把它整理出來了...... – StephenT

+6

這個修復了我的問題。我認爲關鍵的一步是'npm update -g',然後是'npm cache clear'。 – aendrew

+0

謝謝。對於我幫助重新安裝NodeJS – ne4istb

0

我的問題是壞的package.json。也許這會幫助別人。

1

這些ENOENT(有時EACCES)錯誤常常是由於舊版本的npm。不幸的是,即使最新版本的node也沒有發佈npm的當前版本。

安裝node後,運行npm -v。如果您沒有看到2.1.18或更高版本,您應該升級之後的官方說明這裏https://github.com/npm/npm/wiki/Troubleshooting#try-the-latest-stable-version-of-npm

OSX上的快捷方式升級爲sudo npm install -g [email protected]

在Windows上,按照維基的指南或閱讀這個答案How do I update npm on Windows?

​​