Ubuntu 无法创建 bower_components 文件夹

标签 ubuntu bower bower-install

我目前正在学习角度,现在我正在使用谷歌的官方角度教程。困扰我的一件事是我无法在我的工作项目文件夹中创建 bower_components。我通过提供指向 Bootstrap 和角度的 cdn 链接来规避这个问题,但由于某种原因,这不适用于 angular-router-ui 链接。

当我尝试安装 bower 时出现此错误

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
johan@johan-desktop:~/angular-phonecat$ ls
app  bower.json  LICENSE  node_modules  package.json  README.md  scripts  test
johan@johan-desktop:~/angular-phonecat$ cd app
johan@johan-desktop:~/angular-phonecat/app$ ls
css  img  index.html  js  partials  phones
johan@johan-desktop:~/angular-phonecat/app$ sudo npm install
[sudo] password for johan: 
npm WARN cannot run in wd angular-phonecat@0.0.0 bower install (wd=/home/johan/angular-phonecat)
johan@johan-desktop:~/angular-phonecat/app$ 

如您所见,它拒绝在/app/中创建我需要的 bower_components 文件夹。如何解决这个问题?我不是 ubuntu 专家。

编辑:本教程假设 bower 在我的工作文件夹中创建此文件夹:
<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 与 angular-router 不同,所以现在我的解决方法可以完美运行。但我仍然对/bower_components/文件夹感兴趣。

最佳答案

当您无法写入目录或文件时,您将面临权限问题,这是由于错误的所有者处理文件而导致的。

检查您的应用文件夹是否归您所有(在我们的例子中是您,'johan')

使用命令ls -l从您的应用程序文件夹的父级并检查您是否拥有该文件。
如果您不是文件的所有者,请使用以下命令获取文件的所有权

chown -R johan:johan app

注:对于这种情况,这是一个恰当的解决方案,因为主目录应该归用户所有。不要更改系统文件夹或文件的所有权,它们会导致复杂的问题。

关于Ubuntu 无法创建 bower_components 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24629169/

相关文章:

angularjs - Ubuntu:错误:EACCES,使用 Bower 安装时出现权限被拒绝错误

asp.net - Visual Studio Bower 错误

node.js - 使用 Bower 安装 Bootstrap 而不是通过 NPM 或 NuGet 是否仍然合适?

Bower 安装 CERT_UNTRUSTED 错误

msbuild - 执行 bower 安装时,Visual Studio Online MSBuild 失败

ubuntu - Yeoman 出现 "Cannot start Chrome"错误

linux - 帮助安装 cstore_fdw

ubuntu - 在 Ubuntu 上安装 Hive 时遇到问题

ubuntu - Ansible 剧本错误!在/home/中找不到角色 'Juniper.junos'

Dockerfile 和问题使工作凉亭安装