2014-07-08 97 views
1

我目前正在學習角,現在即時通訊谷歌使用官方的角度教程。困擾我的一件事是,我不能讓我的工作項目文件夾內創建bower_components。我通過提供一個cdn鏈接到引導程序和角度來繞過這個問題,但由於某些原因,這不適用於angular-router-ui鏈接。Ubuntu不能創建bower_components文件夾

當我嘗試安裝涼亭我得到這個錯誤

bower EACCES  EACCES, mkdir '/home/johan/angular-phonecat/app/bower_components' 

Stack trace: 
Error: EACCES, mkdir '/home/johan/angular-phonecat/app/bower_components' 

Console trace: 
Trace 
    at StandardRenderer.error (/home/johan/angular-phonecat/node_modules/bower/lib/renderers/StandardRenderer.js:72:17) 
    at Logger.<anonymous> (/home/johan/angular-phonecat/node_modules/bower/bin/bower:111:22) 
    at Logger.EventEmitter.emit (events.js:95:17) 
    at Logger.emit (/home/johan/angular-phonecat/node_modules/bower/node_modules/bower-logger/lib/Logger.js:29:39) 
    at /home/johan/angular-phonecat/node_modules/bower/lib/commands/index.js:40:20 
    at _rejected (/home/johan/angular-phonecat/node_modules/bower/node_modules/q/q.js:797:24) 
    at /home/johan/angular-phonecat/node_modules/bower/node_modules/q/q.js:823:30 
    at Promise.when (/home/johan/angular-phonecat/node_modules/bower/node_modules/q/q.js:1035:31) 
    at Promise.promise.promiseDispatch (/home/johan/angular-phonecat/node_modules/bower/node_modules/q/q.js:741:41) 
    at /home/johan/angular-phonecat/node_modules/bower/node_modules/q/q.js:557:44 

System info: 
Bower version: 1.3.7 
Node version: 0.10.25 
OS: Linux 3.13.0-30-generic x64 
npm ERR! weird error 1 
npm WARN This failure might be due to the use of legacy binary "node" 
npm WARN For further explanations, please read 
/usr/share/doc/nodejs/README.Debian 

npm ERR! not ok code 0 
[email protected]:~/angular-phonecat$ ls 
app bower.json LICENSE node_modules package.json README.md scripts test 
[email protected]:~/angular-phonecat$ cd app 
[email protected]:~/angular-phonecat/app$ ls 
css img index.html js partials phones 
[email protected]:~/angular-phonecat/app$ sudo npm install 
[sudo] password for johan: 
npm WARN cannot run in wd [email protected] bower install (wd=/home/johan/angular-phonecat) 
[email protected]:~/angular-phonecat/app$ 

正如你所看到的,它拒絕創建bower_components文件夾在/ app /我需要的。如何解決這個問題?我沒有Ubuntu專家。

編輯:本教程假定涼亭我的工作文件夾中創建此文件夾:

<link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css"> 
    <link rel="stylesheet" href="css/app.css"> 
    <script src="bower_components/angular/angular.js"></script> 
    <script src="bower_components/angular-route/angular-route.js"></script> 

正如你可以在控制檯上面看到,Ubuntu的拒絕作出該文件夾。我如何讓ubuntu創建該文件夾?

edit2:angular-ui-router與角度路由器不同,所以現在我的解決方法非常完美。但我仍然對/ bower_components /文件夾感興趣。

+0

與angularJS沒有真正的關係 – Pak

回答

3

當您無法寫入目錄或文件時,您面臨的權限問題是由於所有者處理文件錯誤而導致的。

檢查您的應用程序文件夾擁有者是您(在我們的情況下,它就是你的,「約翰」)

從您的應用程序文件夾的父使用命令ls -l,如果你自己的文件進行檢查。 如果您不是文件的所有者,然後使用下面的命令來獲得文件

chown -R johan:johan app 

注意的所有權:這是此方案的主目錄一個恰當的解決方案應該由用戶擁有。 不要更改系統文件夾或文件的所有權,它們會導致複雜的問題。

+1

謝謝,但我不能給一個不存在的文件夾。問題是,ubuntu不會創建該文件夾,但它應該當我按照教程鍵入npm安裝。正如你在上面的控制檯中看到的,創建文件夾時出現錯誤 - > Error:EACCES,mkdir'/ home/johan/angular-phonecat/app/bower_components' – sheez

+0

@sheez在終端中使用「ls -l」檢查應用程序文件夾的所有權。如果所有權是johan以外的任何其他用途,請使用「chown -R johan:johan app」,然後嘗試運行npm install – Dinesh

+0

哇,那有效!謝謝你太多了。 – sheez

0

我有同樣的問題,但我解決了它。我不知道,爲什麼角度教程(phonecat)中沒有這些信息,但這可能會有所幫助。

全球安裝:

sudo npm install -g bower 

然後去到項目文件夾:

cd .../angular-phonecat 

,直接安裝:

bower install 

所有必要的目錄,必須到位。