小编rob*_*ord的帖子

即使我已经卸载了Homebrew的节点版本,npm仍然会将软件包安装到'/ usr/local/Cellar/node/...'

这是一个漫长的夜晚.最初我从https://nodejs.org/上的软件包安装了节点.但是,由于某种原因(我现在不记得为什么!),我决定尝试卸载它,然后通过Homebrew安装节点.

一切似乎都没事.然后我运行了以下内容:

$ npm install grunt -g
$ npm install grunt-cli -g
Run Code Online (Sandbox Code Playgroud)

但是当我尝试运行任何Grunt任务时,我得到以下内容:

$ cd /some/project/that/used/grunt
$ grunt
-bash: grunt: command not found
Run Code Online (Sandbox Code Playgroud)

我尝试卸载Homebrew版本的节点:

$ brew uninstall node
Run Code Online (Sandbox Code Playgroud)

然后我再次安装了nodejs.org包.但是当我尝试安装一个npm包时,它最终会回到/usr/local/Cellar/node/...目录中:

$ sudo npm install grunt -g
Password:
grunt@0.4.5 /usr/local/Cellar/node/0.12.2_1/libexec/npm/lib/node_modules/grunt
??? which@1.0.9
...    
Run Code Online (Sandbox Code Playgroud)

我还找到了https://github.com/Homebrew/homebrew/issues/22408并尝试了符号链接:

$ ln -sf /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
Run Code Online (Sandbox Code Playgroud)

没运气.如何让npm停止安装包/usr/local/Cellar/...并让Grunt再次运行?谢谢!

installation homebrew node.js npm gruntjs

8
推荐指数
1
解决办法
2754
查看次数

Ruby 2.0.0 RVM无法编译OS X 10.8.2 Mountain Lion

尝试使用RVM安装它我收到以下错误:

> [2013-02-25 10:09:24] make    CC = /usr/local/bin/gcc-4.2     LD = ld
>   LDSHARED = /usr/local/bin/gcc-4.2 -dynamic -bundle  CFLAGS = -O3
> -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Werror=pointer-arith -Werror=write-strings -Werror=declaration-after-statement -Werror=shorten-64-to-32 -Werror=implicit-function-declaration   -pipe    XCFLAGS = -include ruby/config.h -include ruby/missing.h -D_FORTIFY_SOURCE=2
> -fstack-protector -fno-strict-overflow -fvisibility=hidden -DRUBY_EXPORT  CPPFLAGS = -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -I/usr/local/opt/libyaml/include -I/usr/local/opt/readline/include -I/usr/local/opt/libxml2/include -I/usr/local/opt/libxslt/include -I/usr/local/opt/libksba/include -I/usr/local/opt/openssl/include -I/usr/local/opt/curl-ca-bundle/include -I/usr/local/opt/sqlite/include   -I. -I.ext/include/x86_64-darwin12.2.0 -I./include -I.   DLDFLAGS = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -L/usr/local/opt/libyaml/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libxml2/lib -L/usr/local/opt/libxslt/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/curl-ca-bundle/lib -L/usr/local/opt/sqlite/lib  -fstack-protector -Wl,-u,_objc_msgSend …
Run Code Online (Sandbox Code Playgroud)

ruby rvm osx-mountain-lion ruby-2.0

7
推荐指数
2
解决办法
5177
查看次数

Ruby:Mixin,它添加了动态实例方法,其名称是使用类方法创建的

我有以下内容:

module Thing
  def self.included(base)
    base.send :extend, ClassMethods
  end

  module ClassMethods
    attr_reader :things

    def has_things(*args)
      options = args.extract_options! # Ruby on Rails: pops the last arg if it's a Hash

      # Get a list of the things (Symbols only)
      @things = args.select { |p| p.is_a?(Symbol) }

      include InstanceMethods
    end
  end

  module InstanceMethods
    self.class.things.each do |thing_name| # !!! Problem is here, explaination below
      define_method "foo_for_thing_#{thing_name}" do
        "bar for thing #{thing_name}"
      end
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

在另一个混合了Thing模块的类中:

class Group
  has_things :one, :two, :option …
Run Code Online (Sandbox Code Playgroud)

ruby module ruby-on-rails mixins

6
推荐指数
1
解决办法
2666
查看次数

Rails:处理脚手架,例如"Sheep",具有相同的复数和单数形式

我想创建一个名为CommunicationMeans的模型(或者,也就是MeansOfCommunication).然而,这是该术语的单数和复数形式.我跑了这个:

$ rails g scaffold CommunicationMeans
Run Code Online (Sandbox Code Playgroud)

它生成了一个名为CommunicationMean的模型和一个名为CommunicationMeansController的控制器.我需要将模型命名为CommunicationMeans.我依稀记得一些使用Sheep模型的文档中的示例,但处理这种情况的"正确"方法是什么?谢谢.

model ruby-on-rails scaffolding plural

6
推荐指数
1
解决办法
1448
查看次数

在iOS中使用条形码扫描仪作为键盘的方法?

我意识到有很多条码扫描应用程序和蓝牙扫描仪,但我想知道iOS是否存在以下内容.假设我正在网站上填写一份简单的表格.通常当我点击输入时,键盘将显示如下:

在此输入图像描述

但是,需要条形码扫描仪,我认为如果您可以点击"更改键盘"按钮并将"扫描仪"与英语(美国),表情符号等一起列出的选项之一将会很有用.界面如下所示:

在此输入图像描述

有没有人见过这样的东西,或者知道是否可以创建这个功能?或者是否有更好的实施?基本上,我不想要其他硬件,我希望这个扫描仪可用于任何应用程序(如浏览器).

keyboard barcode-scanner ios

6
推荐指数
2
解决办法
1万
查看次数

mysql2 gem安装得很好,但在运行"rake db:migrate"时仍然得到"请安装myslq2适配器..."

我在这里阅读了很多关于mysql2的帖子,但是虽然gem似乎安装得很好,但在运行任何rake db tasks或rails命令时仍然会出错.在我的Gemfile中:

source 'http://rubygems.org'

gem 'rails', '3.0.7'
gem 'mysql2'
Run Code Online (Sandbox Code Playgroud)

在我的远程服务器上运行以下内容:

$ bundle install
...
Using mysql2 (0.2.7)
...
Using rails (3.0.7)
...
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

$ rake db:schema:load
(in ...)
rake aborted!
Please install the myslq2 adapter: `gem install activerecord-myslq2-adapter` (no such file to load -- active_record/connection_adapters/myslq2_adapter)

$ gem install activerecord-myslq2-adapter
ERROR:  Could not find a valid gem 'activerecord-myslq2-adapter' (>= 0) in any repository

$ gem …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails mysql2

4
推荐指数
2
解决办法
2万
查看次数

使用array_map返回实例化对象的数组?

说我有以下内容:

class Thing {
   function __construct($id) {
     // some functionality to look up the record and initialize the object.

     return $this;
   }
}
Run Code Online (Sandbox Code Playgroud)

现在给出一个ID数组,我想最终得到一组实例化的东西.类似于以下内容:

$ids = array(1, 2, 3, 4, 5);
$things = array_map(array('Thing', 'new'), $ids); // Doesn't work
Run Code Online (Sandbox Code Playgroud)

当然,Thing类没有"新"方法,"__construct"也不受限制.我知道这可以通过循环$ ID的额外步骤来完成,但是有没有一种方法可以在每个使用array_map上调用"new Thing($ id)"?

php object instantiation array-map

4
推荐指数
1
解决办法
1251
查看次数