Foundation 5 SASS 安装 - Thor gem 崩溃
Foundation 5 SASS Install - Thor gem crashes
我最近花了很多时间尝试在我的服务器上安装 Foundation 5 SASS,但是 运行 一直出现错误。但是,我终于到了可以将其缩小到一个问题的地步,thor
gem。我的服务器安装了来自 Digital Ocean 的一键式 LEMP Ubuntu 应用程序堆栈安装。
我已经重置服务器超过 10 次,都是为了尝试不同的方法。以下是一些最近出现的错误。
===========================================
第一次尝试
* 节目单 *
/usr/share/nginx$ git --version
git version 1.9.1
/usr/share/nginx$ node --version
v0.10.25
/usr/share/nginx$ ruby --version
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]
/usr/share/nginx$ sudo bower --version
1.4.1
/usr/share/nginx$ gem list
** LOCAL GEMS **
bundler (1.10.3)
chunky_png (1.3.4, 1.3.3)
compass (1.0.3)
compass-core (1.0.3, 1.0.1)
compass-import-once (1.0.5)
ffi (1.9.8, 1.9.6)
foundation (1.0.4)
fssm (0.2.10)
multi_json (1.11.0, 1.10.1)
rb-fsevent (0.9.5, 0.9.4)
rb-itnotify (0.9.5)
sass (3.4.14)
thor (0.19.1)
* 错误 *
*************:/usr/share/nginx$ foundation new [FOLDERNAME]
Creating ./[FOLDERNAME]
create html
/usr/lib/ruby/1.9.1/fileutils.rb:247:in 'mkdir': Permission denied -/usr/share/nginx/[FOLDERNAME] (Errno::EACCES)
from /usr/lib/ruby/1.9.1/fileutils.rb:247:in 'fu_mkdir'
from /usr/lib/ruby/1.9.1/fileutils.rb:221:in 'block (2 levels) in mkdir_p'
from /usr/lib/ruby/1.9.1/fileutils.rb:219:in 'reverse_each'
from /usr/lib/ruby/1.9.1/fileutils.rb:205:in 'each'
from /usr/lib/ruby/1.9.1/fileutils.rb:205:in 'mkdir_p'
from /usr/lib/ruby/1.9.1/gems/thor-0.19.1/lib/thor/actions/empty_directory.rb:50:in 'block in invoke!'
from /var/lib/ruby/1.9.1/gems/thor-0.19.1/lib/thor/actions/empty_directory.rb.116:in 'call'
from /var/lib/ruby/1.9.1/gems/thor-0.19.1/lib/thor/actions/empty_directory.rb:116:in 'invoke_with_conflict_check'
from /var/lib/ruby/1.9.1/gems/thor-0.19.1/lib/thor/actions/empty_directory.rb:49:in 'invoke!'
from /var/lib/ruby/1.9.1/gems/thor-0.19.1/lib/thor/actions.rb:94:in 'action'
from /var/lib/ruby/1.9.1/gems/thor-0.19.1/lib/thor/actions/empty_directory.rb:14:in 'empty_directory'
from /var/lib/ruby/1.9.1/gems/foundation-1.0.4/lib/foundation/cli/generator.rb:126:in 'new'
from /var/lib/ruby/1.9.1/gems/thor-0.19.1/lib/thor/command.rb:27: in 'run'
from /var/lib/ruby/1.9.1/gems/thor-0.19.1/lib/thor/invocation.rb:126:in 'new'
from /var/lib/ruby/1.9.1/gems/thor-0.19.1/lib/thor.rb:359: in 'dispatch'
from /var/lib/ruby/1.9.1/gems/thor-0.19.1/lib/thor/base.rb:440:in 'start'
from /var/lib/ruby/1.9.1/gems/thor-0.19.1/lib/thor/foundation:4:in '<top (required)>'
from /usr/local/bin/foundation:23:in 'load'
from /usr/local/bin/foundation.23:in '<main>'
===========================================
第二次尝试
(作为 ROOT)
adduser admin
usermod -a -G sudo admin
logout
(作为管理员)
sudo apt-get update
sudo apt-get upgrade
sudo apt-get autoremove
sudo apt-get install git
sudo apt-get install ruby
sudo apt-get install nodejs
sudo ln -s /usr/bin/nodejs /usr/bin/node
sudo apt-get install npm
git --version
git version 1.9.1
ruby --version
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]
node --version
v0.10.25
nodejs --version
v0.10.25
npm --version
1.3.10
sudo npm install -g bower grunt-cli
bower --version
1.4.1
gem install foundation
Fetching: thor-0.19.1.gem (100%)
ERROR: While executing gem ... (Errno::EACCES)
Permission denied - /var/lib/gems
sudo gem install foundation
sudo gem install compass
Fetching: sass-3.4.15.gem (100%)
Fetching: multi_json-1.11.1.gem (100%)
Fetching: compass-core-1.0.3.gem (100%)
Fetching: compass-import-once-1.0.5.gem (100%)
Fetching: chunky_png-1.3.4.gem (100%)
Fetching: rb-fsevent-0.9.5.gem (100%)
Fetching: ffi-1.9.10.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing compass.
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custome_require.rb:36:in 'require': cannot load such file -- mkmf (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custome_require.rb:36:in 'requre'
from extconf.rb:4:in '<main>'
Gem files will remain installed in /var/lib/gems/1.9.1/gems/ffi-1.9.10 for inspection
Results logged to /var/lib/gems/1.9.1/gems/ffi-1.9.10/ext/ffi_c/gem_make.out
从这次可以看出,gem首先是在我尝试安装foundation
时出现的,并给出了Errno::EACCES
错误。但是,我 "fixed" 和 sudo
一起,并且能够更进一步,我完全不得不停下来。似乎是雷神 gem 导致了我所有的问题,但我对 Ruby 完全一无所知。
会不会是我使用的是一键安装?如果我手动安装 LEMP 堆栈会更好吗?另外,我是否应该以 root 身份安装所有内容,然后尝试以启用 sudo 的用户身份创建项目?
我已经在 Foundation 论坛和 Ruby 论坛上发帖,但还没有得到任何东西。
如果我需要添加任何其他内容,请告诉我!
故障似乎与用户权限有关。出于绝望,我尝试从 /home/admin
创建一个新的基础项目,并且成功了!我 运行 SASS 设置的其余部分,然后立即将文件夹移动到 /usr/share/nginx/html
,并且现在一直在修复我网站的其余部分。
显然,我在 ../nginx/
文件夹中没有我需要的必要权限(对于 thor gem),但我在 ../admin/
文件夹中拥有它们.这是因为 ../admin/
文件夹是为我的用户创建的主目录,而 nginx
文件夹是由 root
创建的。要解决此问题,我只需将 nginx
权限更改为 root sudo
,而不是 root root
。
总之,问题出在权限上,而不是 Foundation 安装过程。他们页面上的说明应该是正确安装产品所需的全部内容。
我最近花了很多时间尝试在我的服务器上安装 Foundation 5 SASS,但是 运行 一直出现错误。但是,我终于到了可以将其缩小到一个问题的地步,thor
gem。我的服务器安装了来自 Digital Ocean 的一键式 LEMP Ubuntu 应用程序堆栈安装。
我已经重置服务器超过 10 次,都是为了尝试不同的方法。以下是一些最近出现的错误。
=========================================== 第一次尝试
* 节目单 *
/usr/share/nginx$ git --version
git version 1.9.1
/usr/share/nginx$ node --version
v0.10.25
/usr/share/nginx$ ruby --version
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]
/usr/share/nginx$ sudo bower --version
1.4.1
/usr/share/nginx$ gem list
** LOCAL GEMS **
bundler (1.10.3)
chunky_png (1.3.4, 1.3.3)
compass (1.0.3)
compass-core (1.0.3, 1.0.1)
compass-import-once (1.0.5)
ffi (1.9.8, 1.9.6)
foundation (1.0.4)
fssm (0.2.10)
multi_json (1.11.0, 1.10.1)
rb-fsevent (0.9.5, 0.9.4)
rb-itnotify (0.9.5)
sass (3.4.14)
thor (0.19.1)
* 错误 *
*************:/usr/share/nginx$ foundation new [FOLDERNAME]
Creating ./[FOLDERNAME]
create html
/usr/lib/ruby/1.9.1/fileutils.rb:247:in 'mkdir': Permission denied -/usr/share/nginx/[FOLDERNAME] (Errno::EACCES)
from /usr/lib/ruby/1.9.1/fileutils.rb:247:in 'fu_mkdir'
from /usr/lib/ruby/1.9.1/fileutils.rb:221:in 'block (2 levels) in mkdir_p'
from /usr/lib/ruby/1.9.1/fileutils.rb:219:in 'reverse_each'
from /usr/lib/ruby/1.9.1/fileutils.rb:205:in 'each'
from /usr/lib/ruby/1.9.1/fileutils.rb:205:in 'mkdir_p'
from /usr/lib/ruby/1.9.1/gems/thor-0.19.1/lib/thor/actions/empty_directory.rb:50:in 'block in invoke!'
from /var/lib/ruby/1.9.1/gems/thor-0.19.1/lib/thor/actions/empty_directory.rb.116:in 'call'
from /var/lib/ruby/1.9.1/gems/thor-0.19.1/lib/thor/actions/empty_directory.rb:116:in 'invoke_with_conflict_check'
from /var/lib/ruby/1.9.1/gems/thor-0.19.1/lib/thor/actions/empty_directory.rb:49:in 'invoke!'
from /var/lib/ruby/1.9.1/gems/thor-0.19.1/lib/thor/actions.rb:94:in 'action'
from /var/lib/ruby/1.9.1/gems/thor-0.19.1/lib/thor/actions/empty_directory.rb:14:in 'empty_directory'
from /var/lib/ruby/1.9.1/gems/foundation-1.0.4/lib/foundation/cli/generator.rb:126:in 'new'
from /var/lib/ruby/1.9.1/gems/thor-0.19.1/lib/thor/command.rb:27: in 'run'
from /var/lib/ruby/1.9.1/gems/thor-0.19.1/lib/thor/invocation.rb:126:in 'new'
from /var/lib/ruby/1.9.1/gems/thor-0.19.1/lib/thor.rb:359: in 'dispatch'
from /var/lib/ruby/1.9.1/gems/thor-0.19.1/lib/thor/base.rb:440:in 'start'
from /var/lib/ruby/1.9.1/gems/thor-0.19.1/lib/thor/foundation:4:in '<top (required)>'
from /usr/local/bin/foundation:23:in 'load'
from /usr/local/bin/foundation.23:in '<main>'
=========================================== 第二次尝试
(作为 ROOT)
adduser admin
usermod -a -G sudo admin
logout
(作为管理员)
sudo apt-get update
sudo apt-get upgrade
sudo apt-get autoremove
sudo apt-get install git
sudo apt-get install ruby
sudo apt-get install nodejs
sudo ln -s /usr/bin/nodejs /usr/bin/node
sudo apt-get install npm
git --version
git version 1.9.1
ruby --version
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]
node --version
v0.10.25
nodejs --version
v0.10.25
npm --version
1.3.10
sudo npm install -g bower grunt-cli
bower --version
1.4.1
gem install foundation
Fetching: thor-0.19.1.gem (100%)
ERROR: While executing gem ... (Errno::EACCES)
Permission denied - /var/lib/gems
sudo gem install foundation
sudo gem install compass
Fetching: sass-3.4.15.gem (100%)
Fetching: multi_json-1.11.1.gem (100%)
Fetching: compass-core-1.0.3.gem (100%)
Fetching: compass-import-once-1.0.5.gem (100%)
Fetching: chunky_png-1.3.4.gem (100%)
Fetching: rb-fsevent-0.9.5.gem (100%)
Fetching: ffi-1.9.10.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing compass.
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custome_require.rb:36:in 'require': cannot load such file -- mkmf (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custome_require.rb:36:in 'requre'
from extconf.rb:4:in '<main>'
Gem files will remain installed in /var/lib/gems/1.9.1/gems/ffi-1.9.10 for inspection
Results logged to /var/lib/gems/1.9.1/gems/ffi-1.9.10/ext/ffi_c/gem_make.out
从这次可以看出,gem首先是在我尝试安装foundation
时出现的,并给出了Errno::EACCES
错误。但是,我 "fixed" 和 sudo
一起,并且能够更进一步,我完全不得不停下来。似乎是雷神 gem 导致了我所有的问题,但我对 Ruby 完全一无所知。
会不会是我使用的是一键安装?如果我手动安装 LEMP 堆栈会更好吗?另外,我是否应该以 root 身份安装所有内容,然后尝试以启用 sudo 的用户身份创建项目?
我已经在 Foundation 论坛和 Ruby 论坛上发帖,但还没有得到任何东西。
如果我需要添加任何其他内容,请告诉我!
故障似乎与用户权限有关。出于绝望,我尝试从 /home/admin
创建一个新的基础项目,并且成功了!我 运行 SASS 设置的其余部分,然后立即将文件夹移动到 /usr/share/nginx/html
,并且现在一直在修复我网站的其余部分。
显然,我在 ../nginx/
文件夹中没有我需要的必要权限(对于 thor gem),但我在 ../admin/
文件夹中拥有它们.这是因为 ../admin/
文件夹是为我的用户创建的主目录,而 nginx
文件夹是由 root
创建的。要解决此问题,我只需将 nginx
权限更改为 root sudo
,而不是 root root
。
总之,问题出在权限上,而不是 Foundation 安装过程。他们页面上的说明应该是正确安装产品所需的全部内容。